Web Server: PLT HTTP Server

1`` | Running the Web Server
2`` | Scheme Servlets
3`` | Web Language Servlets
4`` | Configuration
5`` | Dispatchers
6`` | Web Config Unit
7`` | Web Server Unit
8`` | Continuation Managers
9`` | Internal
10`` | Troubleshooting
11`` | Acknowledgements
| Index

On this page:

connection
start-connection-manager
new-connection
kill-connection!
adjust-connection-timeout!

Version: 4.0.2
contents index
← prev up next →

#### 9.2`` Connection Manager

(require web-server/private/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.

(struct |  | connection |  | (timer i-port o-port custodian close?))

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.

(new-connection |  | timeout |  |  |  |
|  | i-port |  |  |  |
|  | o-port |  |  |  |
|  | cust |  |  |  |
|  | close?) |  | → |  | connection?

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.

contents index
← prev up next →