Package org.apache.sshd.common
Interface Closeable
-
- All Superinterfaces:
java.lang.AutoCloseable
,java.nio.channels.Channel
,java.io.Closeable
- All Known Subinterfaces:
AgentForwardSupport
,Channel
,ClientChannel
,ClientSession
,CloseableExecutorService
,ConnectionService
,ForwardingFilter
,IoAcceptor
,IoConnector
,IoInputStream
,IoOutputStream
,IoService
,IoServiceFactory
,IoSession
,ServerChannel
,ServerSession
,Service
,Session
,SessionContext
,X11ForwardSupport
- All Known Implementing Classes:
AbstractChannel
,AbstractChannel.GracefulChannelCloseable
,AbstractClientChannel
,AbstractClientSession
,AbstractCloseable
,AbstractConnectionService
,AbstractFactoryManager
,AbstractInnerCloseable
,AbstractIoServiceFactory
,AbstractKexFactoryManager
,AbstractServerChannel
,AbstractServerSession
,AbstractSession
,AgentForwardedChannel
,BufferedIoOutputStream
,ChannelAgentForwarding
,ChannelAsyncInputStream
,ChannelAsyncOutputStream
,ChannelDirectTcpip
,ChannelExec
,ChannelForwardedX11
,ChannelSession
,ChannelSession
,ChannelSession.CommandCloseable
,ChannelShell
,ChannelSubsystem
,ClientConnectionService
,ClientSessionImpl
,ClientUserAuthService
,DefaultAgentForwardSupport
,DefaultForwardingFilter
,DefaultX11ForwardSupport
,FuturesCloseable
,IoBaseCloseable
,Nio2Acceptor
,Nio2Connector
,Nio2Service
,Nio2ServiceFactory
,Nio2Session
,NoCloseExecutor
,ParallelCloseable
,PtyCapableChannelSession
,SequentialCloseable
,ServerConnectionService
,ServerSessionImpl
,ServerUserAuthService
,SessionHelper
,SimpleCloseable
,SocksProxy
,SshClient
,SshServer
,SshThreadPoolExecutor
,SshThreadPoolExecutor.DelegateCloseable
,TcpipClientChannel
,TcpipServerChannel
public interface Closeable extends java.nio.channels.Channel
ACloseable
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)
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
CLOSE_WAIT_TIMEOUT
Timeout (milliseconds) for waiting on aCloseFuture
to successfully complete its action.static long
DEFAULT_CLOSE_WAIT_TIMEOUT
Default value forCLOSE_WAIT_TIMEOUT
if none specified
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method 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()
Returnstrue
if this object has been closed.boolean
isClosing()
Returnstrue
if theclose(boolean)
method has been called.default boolean
isOpen()
void
removeCloseFutureListener(SshFutureListener<CloseFuture> listener)
Remove a pre-registered close event listener
-
-
-
Field Detail
-
CLOSE_WAIT_TIMEOUT
static final java.lang.String CLOSE_WAIT_TIMEOUT
Timeout (milliseconds) for waiting on aCloseFuture
to successfully complete its action.- See Also:
DEFAULT_CLOSE_WAIT_TIMEOUT
, Constant Field Values
-
DEFAULT_CLOSE_WAIT_TIMEOUT
static final long DEFAULT_CLOSE_WAIT_TIMEOUT
Default value forCLOSE_WAIT_TIMEOUT
if none specified
-
-
Method Detail
-
close
CloseFuture close(boolean immediately)
Close this resource asynchronously and return a future. Resources support two closing modes: a graceful mode which will cleanly close the resource and an immediate mode which will close the resources abruptly.- Parameters:
immediately
-true
if the resource should be shut down abruptly,false
for a graceful close- Returns:
- a
CloseFuture
representing the close request
-
addCloseFutureListener
void addCloseFutureListener(SshFutureListener<CloseFuture> listener)
Pre-register a listener to be informed when resource is closed. If resource is already closed, the listener will be invoked immediately and not registered for future notification- Parameters:
listener
- The notificationSshFutureListener
- nevernull
-
removeCloseFutureListener
void removeCloseFutureListener(SshFutureListener<CloseFuture> listener)
Remove a pre-registered close event listener- Parameters:
listener
- The registerSshFutureListener
- nevernull
. Ignored if not registered or resource already closed
-
isClosed
boolean isClosed()
Returnstrue
if this object has been closed.- Returns:
true
if closing
-
isClosing
boolean isClosing()
Returnstrue
if theclose(boolean)
method has been called. Note that this method will returntrue
even if thisisClosed()
returnstrue
.- Returns:
true
if closing
-
isOpen
default boolean isOpen()
- Specified by:
isOpen
in interfacejava.nio.channels.Channel
-
close
default void close() throws java.io.IOException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.nio.channels.Channel
- Specified by:
close
in interfacejava.io.Closeable
- Throws:
java.io.IOException
-
getMaxCloseWaitTime
static long getMaxCloseWaitTime(PropertyResolver resolver)
-
close
static void close(Closeable closeable) throws java.io.IOException
- Throws:
java.io.IOException
-
-