public interface Closeable
extends java.nio.channels.Channel
Closeable
is a resource that can be closed. The close method is invoked to release resources that the
object is holding. The user can pre-register listeners to be notified when resource close is completed (successfully
or otherwise)Modifier and Type | Field and Description |
---|---|
static java.lang.String |
CLOSE_WAIT_TIMEOUT
Timeout (milliseconds) for waiting on a
CloseFuture to successfully complete its action. |
static long |
DEFAULT_CLOSE_WAIT_TIMEOUT
Default value for
CLOSE_WAIT_TIMEOUT if none specified |
Modifier and Type | Method and Description |
---|---|
void |
addCloseFutureListener(SshFutureListener<CloseFuture> listener)
Pre-register a listener to be informed when resource is closed.
|
default void |
close() |
CloseFuture |
close(boolean immediately)
Close this resource asynchronously and return a future.
|
static void |
close(Closeable closeable) |
static long |
getMaxCloseWaitTime(PropertyResolver resolver) |
boolean |
isClosed()
Returns
true if this object has been closed. |
boolean |
isClosing()
Returns
true if the close(boolean) method has been called. |
default boolean |
isOpen() |
void |
removeCloseFutureListener(SshFutureListener<CloseFuture> listener)
Remove a pre-registered close event listener
|
static final java.lang.String CLOSE_WAIT_TIMEOUT
CloseFuture
to successfully complete its action.DEFAULT_CLOSE_WAIT_TIMEOUT
,
Constant Field Valuesstatic final long DEFAULT_CLOSE_WAIT_TIMEOUT
CLOSE_WAIT_TIMEOUT
if none specifiedCloseFuture close(boolean immediately)
immediately
- true
if the resource should be shut down abruptly, false
for a
graceful closeCloseFuture
representing the close requestvoid addCloseFutureListener(SshFutureListener<CloseFuture> listener)
listener
- The notification SshFutureListener
- never null
void removeCloseFutureListener(SshFutureListener<CloseFuture> listener)
listener
- The register SshFutureListener
- never null
. Ignored if not registered or
resource already closedboolean isClosed()
true
if this object has been closed.true
if closingboolean isClosing()
true
if the close(boolean)
method has been called. Note that this method will
return true
even if this isClosed()
returns true
.true
if closingdefault boolean isOpen()
isOpen
in interface java.nio.channels.Channel
default void close() throws java.io.IOException
close
in interface java.lang.AutoCloseable
close
in interface java.nio.channels.Channel
close
in interface java.io.Closeable
java.io.IOException
static long getMaxCloseWaitTime(PropertyResolver resolver)
static void close(Closeable closeable) throws java.io.IOException
java.io.IOException