@Override public void stop() throws Exception { stopMonitorThreads(); next.stop(); }
@Override public void onException(IOException error) { if (failed.compareAndSet(false, true)) { stopMonitorThreads(); if (sendLock.writeLock().isHeldByCurrentThread()) { sendLock.writeLock().unlock(); } transportListener.onException(error); } }
@Override public void stop() throws Exception { stopMonitorThreads(); next.stop(); }
@Override public void stop() throws Exception { stopMonitorThreads(); next.stop(); }
@Override public void stop() throws Exception { stopMonitorThreads(); next.stop(); }
@Override public void onException(IOException error) { if (failed.compareAndSet(false, true)) { stopMonitorThreads(); if (sendLock.writeLock().isHeldByCurrentThread()) { sendLock.writeLock().unlock(); } transportListener.onException(error); } }
@Override public void onException(IOException error) { if (failed.compareAndSet(false, true)) { stopMonitorThreads(); if (sendLock.writeLock().isHeldByCurrentThread()) { sendLock.writeLock().unlock(); } transportListener.onException(error); } }
@Override public void onException(IOException error) { if (failed.compareAndSet(false, true)) { stopMonitorThreads(); if (sendLock.writeLock().isHeldByCurrentThread()) { sendLock.writeLock().unlock(); } transportListener.onException(error); } }