tcp-connection-peer
This commit is contained in:
parent
23580010bb
commit
e72e22f250
|
@ -15,6 +15,7 @@
|
||||||
;; b) no facility for separate shutdown of inbound/outbound streams
|
;; b) no facility for separate shutdown of inbound/outbound streams
|
||||||
|
|
||||||
(provide (struct-out tcp-connection)
|
(provide (struct-out tcp-connection)
|
||||||
|
(struct-out tcp-connection-peer)
|
||||||
(struct-out tcp-accepted)
|
(struct-out tcp-accepted)
|
||||||
(struct-out tcp-out)
|
(struct-out tcp-out)
|
||||||
(struct-out tcp-in)
|
(struct-out tcp-in)
|
||||||
|
@ -39,6 +40,7 @@
|
||||||
;; Protocol messages
|
;; Protocol messages
|
||||||
|
|
||||||
(assertion-struct tcp-connection (id spec))
|
(assertion-struct tcp-connection (id spec))
|
||||||
|
(assertion-struct tcp-connection-peer (id addr))
|
||||||
(assertion-struct tcp-accepted (id))
|
(assertion-struct tcp-accepted (id))
|
||||||
(message-struct tcp-out (id bytes))
|
(message-struct tcp-out (id bytes))
|
||||||
(message-struct tcp-in (id bytes))
|
(message-struct tcp-in (id bytes))
|
||||||
|
@ -129,6 +131,7 @@
|
||||||
(define id (seal (list port remote-addr)))
|
(define id (seal (list port remote-addr)))
|
||||||
(spawn #:name (list 'drivers/tcp 'inbound id)
|
(spawn #:name (list 'drivers/tcp 'inbound id)
|
||||||
(assert (tcp-connection id server-addr))
|
(assert (tcp-connection id server-addr))
|
||||||
|
(assert (tcp-connection-peer id remote-addr))
|
||||||
(define unblock! (run-connection id cin cout))
|
(define unblock! (run-connection id cin cout))
|
||||||
(on (asserted (tcp-accepted id)) (unblock!))
|
(on (asserted (tcp-accepted id)) (unblock!))
|
||||||
(stop-when (retracted (tcp-accepted id))))))
|
(stop-when (retracted (tcp-accepted id))))))
|
||||||
|
|
Loading…
Reference in New Issue