in provider/fastbin/src/main/java/org/apache/aries/rsa/provider/fastbin/tcp/TransportPool.java [204:229]
public void onRefill(final Transport transport) {
while (pending.size() > 0 && !transport.full()) {
Pair pair = pending.removeFirst();
boolean accepted = doOffer(transport, pair.command, pair.id);
assert accepted: "Should have been accepted since the transport was not full";
}
if( transport.full() ) {
transports.get(transport).time = 0L;
} else {
final long time = System.currentTimeMillis();
transports.get(transport).time = time;
if (evictionDelay > 0) {
queue.executeAfter(evictionDelay, TimeUnit.MILLISECONDS, new Runnable() {
public void run() {
TransportState state = transports.get(transport);
if (state != null && state.time == time) {
transports.remove(transport);
transport.stop();
}
}
});
}
}
}