9.2 Connection Manager
"private/connection-manager.ss" provides functionality for managing pairs of input and output ports. We have plans to allow a number of different strategies for doing this.
| |||||
timer : timer? | |||||
i-port : input-port? | |||||
o-port : output-port? | |||||
custodian : custodian? | |||||
close? : boolean? |
A connection is a pair of ports (i-port and o-port) that is ready to close after the current job if close? is #t. Resources associated with the connection should be allocated under custodian. The connection will last until timer triggers.
(start-connection-manager parent-cust) → void |
parent-cust : custodian? |
Runs the connection manager (now just the timer manager) will parent-cust as the custodian.
| |||||||||||||||||||||||||||||||||||
timeout : number? | |||||||||||||||||||||||||||||||||||
i-port : input-port? | |||||||||||||||||||||||||||||||||||
o-port : output-port? | |||||||||||||||||||||||||||||||||||
cust : custodian? | |||||||||||||||||||||||||||||||||||
close? : boolean? |
Constructs a connection with a timer with a trigger of timeout that calls kill-connection!.
(kill-connection! c) → void |
c : connection? |
Closes the ports associated with c, kills the timer, and shuts down the custodian.
(adjust-connection-timeout! c t) → void |
c : connection? |
t : number? |
Calls reset-timer! with the timer behind c with t.