in provider/fastbin/src/main/java/org/apache/aries/rsa/provider/fastbin/tcp/ClientInvokerImpl.java [107:131]
public void stop(final Runnable onComplete) {
if (running.compareAndSet(true, false)) {
queue().execute(new Runnable() {
public void run() {
final AtomicInteger latch = new AtomicInteger(transports.size());
final Runnable countDown = new Runnable() {
public void run() {
if (latch.decrementAndGet() == 0) {
if (onComplete != null) {
onComplete.run();
}
}
}
};
for (TransportPool pool : transports.values()) {
pool.stop(countDown);
}
}
});
} else {
if (onComplete != null) {
onComplete.run();
}
}
}