public class SimpleCloseable extends IoBaseCloseable
Modifier and Type | Field and Description |
---|---|
protected java.util.concurrent.atomic.AtomicBoolean |
closing |
protected DefaultCloseFuture |
future |
log
CLOSE_WAIT_TIMEOUT, DEFAULT_CLOSE_WAIT_TIMEOUT
Constructor and Description |
---|
SimpleCloseable(java.lang.Object id,
java.lang.Object lock) |
Modifier and Type | Method and Description |
---|---|
void |
addCloseFutureListener(SshFutureListener<CloseFuture> listener)
Pre-register a listener to be informed when resource is closed.
|
CloseFuture |
close(boolean immediately)
Close this resource asynchronously and return a future.
|
protected void |
doClose(boolean immediately) |
boolean |
isClosed()
Returns
true if this object has been closed. |
boolean |
isClosing()
Returns
true if the Closeable.close(boolean) method has been called. |
void |
removeCloseFutureListener(SshFutureListener<CloseFuture> listener)
Remove a pre-registered close event listener
|
java.lang.String |
toString() |
getSimplifiedLogger
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
close, close, getMaxCloseWaitTime, isOpen
protected final DefaultCloseFuture future
protected final java.util.concurrent.atomic.AtomicBoolean closing
public SimpleCloseable(java.lang.Object id, java.lang.Object lock)
public boolean isClosed()
Closeable
true
if this object has been closed.true
if closingpublic boolean isClosing()
Closeable
true
if the Closeable.close(boolean)
method has been called. Note that this method will
return true
even if this Closeable.isClosed()
returns true
.true
if closingpublic void addCloseFutureListener(SshFutureListener<CloseFuture> listener)
Closeable
listener
- The notification SshFutureListener
- never null
public void removeCloseFutureListener(SshFutureListener<CloseFuture> listener)
Closeable
listener
- The register SshFutureListener
- never null
. Ignored if not registered or
resource already closedpublic CloseFuture close(boolean immediately)
Closeable
immediately
- true
if the resource should be shut down abruptly, false
for a
graceful closeCloseFuture
representing the close requestprotected void doClose(boolean immediately)
public java.lang.String toString()
toString
in class java.lang.Object