racket/collects/scheme/tcp.ss
2009-10-20 17:00:20 +00:00

29 lines
879 B
Scheme

(module tcp '#%kernel
(#%require (all-except '#%network tcp-addresses)
(rename '#%network c:tcp-addresses tcp-addresses))
(#%provide tcp-connect
tcp-connect/enable-break
tcp-listen
tcp-close
tcp-accept-ready?
tcp-accept
tcp-accept-evt
tcp-accept/enable-break
tcp-listener?
tcp-addresses
tcp-abandon-port
tcp-port?)
(define-values (tcp-addresses)
(case-lambda
[(socket) (tcp-addresses socket #f)]
[(socket port-numbers?)
(if (tcp-port? socket)
(c:tcp-addresses socket port-numbers?)
(if (tcp-listener? socket)
(c:tcp-addresses socket port-numbers?)
(raise-type-error 'tcp-addresses "tcp-port or tcp-listener" socket)))])))