public interface InboundConnectionCache<C extends Connection> extends ConnectionCache<C>
This cache places minimal requirements on the Connections that it contains:
Some simple methods are provided for monitoring the state of the cache: numbers of busy and idle connections, and the total number of connections in the cache.
Access is also provided to the cache configuration: maxParallelConnections, highWaterMark, and numberToReclaim. Currently these can only be set when the cache is created. XXX We may wish to make the cache configuration dynamically configurable.
| Modifier and Type | Method and Description |
|---|---|
void |
requestProcessed(C conn,
int numResponseExpected)
Indicate that request processing has been completed for a request
received on conn.
|
void |
requestReceived(C conn)
Mark a connection as busy because a request is being processed
on the connection.
|
void |
responseSent(C conn)
Inform the cache that a response has been sent on a particular
connection.
|
close, getCacheType, highWaterMark, numberOfBusyConnections, numberOfConnections, numberOfIdleConnections, numberOfReclaimableConnections, numberToReclaimvoid requestReceived(C conn)
Note that this problem is inherent in a distributed system. We could in any case reclaim a connection AFTER a client has sent a request but BEFORE the request is received. Note that AFTER and BEFORE refer to global time which does not really exist in a distributed system (or at least we want to pretend it is not available). XXX Should we age out connections? This would require actual time stamps, rather than just an LRU queue.
void requestProcessed(C conn, int numResponseExpected)
void responseSent(C conn)
When a Connection is idle, and has no pending responses, it is eligible for reclamation.
Copyright © 2017–2019 Eclipse Foundation. All rights reserved.