|
|
1.1 ! root 1: .PS ! 2: .ps 20 ! 3: ## figure A-15 ! 4: ! 5: boxwid = 2*boxwid ! 6: ! 7: B1: box "user" ! 8: B2: box with .n at (B1.s.x,B1.s.y-boxht/1.5) width 1.5*boxwid height 5*boxht ! 9: B4: box "session" with .sw at B2.sw width 1.5*boxwid ! 10: B3: box "UA" \ ! 11: with .n at (B2.n.x,B2.n.y-(B2.n.y-B4.n.y)/6) width 1.25*boxwid height boxht ! 12: B5: box "MTA" \ ! 13: with .s at (B2.n.x,B4.n.y+(B2.n.y-B4.n.y)/6) width 1.25*boxwid height boxht ! 14: B6: box invis "$\ldots$" with .nw at B2.sw width 1.5*boxwid ! 15: ## ! 16: L1: line <-> from (B1.sw.x-(B1.sw.x-B1.s.x)/2,B1.s.y) \ ! 17: to (B1.sw.x-(B1.sw.x-B1.s.x)/2,B3.n.y) ! 18: L2: line <-> from (B1.se.x-(B1.se.x-B1.s.x)/2,B1.s.y) \ ! 19: to (B1.se.x-(B1.se.x-B1.s.x)/2,B3.n.y) ! 20: L3: line <-> from (B1.sw.x-(B1.sw.x-B1.s.x)/2,B3.s.y) \ ! 21: to (B1.sw.x-(B1.sw.x-B1.s.x)/2,B5.n.y) ! 22: L4: line <-> from (B1.se.x-(B1.se.x-B1.s.x)/2,B3.s.y) \ ! 23: to (B1.se.x-(B1.se.x-B1.s.x)/2,B5.n.y) ! 24: L5: line <-> from (B1.sw.x-(B1.sw.x-B1.s.x)/2,B5.s.y) \ ! 25: to (B1.sw.x-(B1.sw.x-B1.s.x)/2,B4.n.y) ! 26: L6: line <-> from (B1.se.x-(B1.se.x-B1.s.x)/2,B5.s.y) \ ! 27: to (B1.se.x-(B1.se.x-B1.s.x)/2,B4.n.y) ! 28: ## ! 29: B21: box invis with .nw at (B1.ne.x+(B2.ne.x-B2.nw.x),B1.nw.y) ! 30: B22: box with .n at (B21.s.x,B3.s.y-(B3.s.y-B5.n.y)/2) width 1.5*boxwid \ ! 31: height (B3.s.y - B2.s.y) - (B3.s.y-B5.n.y)/2 ! 32: B24: box "session" with .sw at B22.sw width 1.5*boxwid ! 33: B25: box "MTA" with .s at (B22.c.x,B5.s.y) width 1.25*boxwid ! 34: B26: box invis "$\ldots$" with .nw at B22.sw width 1.5*boxwid ! 35: ## ! 36: L25: line <-> from (B21.sw.x-(B21.sw.x-B21.s.x)/2,B25.s.y) \ ! 37: to (B21.sw.x-(B21.sw.x-B21.s.x)/2,B24.n.y) ! 38: L26: line <-> from (B21.se.x-(B21.se.x-B21.s.x)/2,B25.s.y) \ ! 39: to (B21.se.x-(B21.se.x-B21.s.x)/2,B24.n.y) ! 40: ## ! 41: B11: box "user" with .nw at (B21.ne.x+(B22.ne.x-B22.nw.x),B21.nw.y) ! 42: B12: box with .n at (B11.s.x,B11.s.y-boxht/1.5) width 1.5*boxwid height 5*boxht ! 43: B14: box "session" with .sw at B12.sw width 1.5*boxwid ! 44: B13: box "UA" \ ! 45: with .n at (B12.n.x,B12.n.y-(B12.n.y-B14.n.y)/6) width 1.25*boxwid height boxht ! 46: B15: box "MTA" \ ! 47: with .s at (B12.n.x,B14.n.y+(B12.n.y-B14.n.y)/6) width 1.25*boxwid height boxht ! 48: B16: box invis "$\ldots$" with .nw at B12.sw width 1.5*boxwid ! 49: ## ! 50: L11: line <-> from (B11.sw.x-(B11.sw.x-B11.s.x)/2,B11.s.y) \ ! 51: to (B11.sw.x-(B11.sw.x-B11.s.x)/2,B13.n.y) ! 52: L12: line <-> from (B11.se.x-(B11.se.x-B11.s.x)/2,B11.s.y) \ ! 53: to (B11.se.x-(B11.se.x-B11.s.x)/2,B13.n.y) ! 54: L13: line <-> from (B11.sw.x-(B11.sw.x-B11.s.x)/2,B13.s.y) \ ! 55: to (B11.sw.x-(B11.sw.x-B11.s.x)/2,B15.n.y) ! 56: L14: line <-> from (B11.se.x-(B11.se.x-B11.s.x)/2,B13.s.y) \ ! 57: to (B11.se.x-(B11.se.x-B11.s.x)/2,B15.n.y) ! 58: L15: line <-> from (B11.sw.x-(B11.sw.x-B11.s.x)/2,B15.s.y) \ ! 59: to (B11.sw.x-(B11.sw.x-B11.s.x)/2,B14.n.y) ! 60: L16: line <-> from (B11.se.x-(B11.se.x-B11.s.x)/2,B15.s.y) \ ! 61: to (B11.se.x-(B11.se.x-B11.s.x)/2,B14.n.y) ! 62: ## ! 63: L30: line <-> dashed from B3.e to B13.w "P2" "" ! 64: L31: line <-> dashed from B5.e to B25.w "P1" "" ! 65: L32: line <-> dashed from B25.e to B15.w "P1" "" ! 66: ## ! 67: .PE
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.