Package org.apache.sshd.common
Interface Closeable
-
- All Superinterfaces:
AutoCloseable,Channel,Closeable
- All Known Subinterfaces:
CloseableExecutorService,IoAcceptor,IoConnector,IoInputStream,IoOutputStream,IoService,IoServiceFactory,IoSession,SessionContext
- All Known Implementing Classes:
AbstractCloseable,AbstractInnerCloseable,FuturesCloseable,IoBaseCloseable,NoCloseExecutor,ParallelCloseable,SequentialCloseable,SimpleCloseable,SshThreadPoolExecutor,SshThreadPoolExecutor.DelegateCloseable
public interface Closeable extends Channel
ACloseableis 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)- Author:
- Apache MINA SSHD Project
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description voidaddCloseFutureListener(SshFutureListener<CloseFuture> listener)Pre-register a listener to be informed when resource is closed.default voidclose()CloseFutureclose(boolean immediately)Close this resource asynchronously and return a future.static voidclose(Closeable closeable)static DurationgetMaxCloseWaitTime(PropertyResolver resolver)booleanisClosed()Returnstrueif this object has been closed.booleanisClosing()Returnstrueif theclose(boolean)method has been called.default booleanisOpen()voidremoveCloseFutureListener(SshFutureListener<CloseFuture> listener)Remove a pre-registered close event listener
-
-
-
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-trueif the resource should be shut down abruptly,falsefor a graceful close- Returns:
- a
CloseFuturerepresenting 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()
Returnstrueif this object has been closed.- Returns:
trueif closing
-
isClosing
boolean isClosing()
Returnstrueif theclose(boolean)method has been called. Note that this method will returntrueeven if thisisClosed()returnstrue.- Returns:
trueif closing
-
close
default void close() throws IOException- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceChannel- Specified by:
closein interfaceCloseable- Throws:
IOException
-
getMaxCloseWaitTime
static Duration getMaxCloseWaitTime(PropertyResolver resolver)
-
close
static void close(Closeable closeable) throws IOException
- Throws:
IOException
-
-