Class GridNioFilterAdapter
- java.lang.Object
-
- org.apache.ignite.internal.util.nio.GridNioFilterAdapter
-
- All Implemented Interfaces:
GridNioFilter
- Direct Known Subclasses:
GridConnectionBytesVerifyFilter,GridNioAsyncNotifyFilter,GridNioCodecFilter,GridNioFilterChain,GridNioSslFilter,GridNioTracerFilter
public abstract class GridNioFilterAdapter extends Object implements GridNioFilter
Class that defines the piece for application-to-network and vice-versa data conversions (protocol transformations, encryption, etc.)
-
-
Field Summary
Fields Modifier and Type Field Description protected GridNioFilternextFilterNext filter in filter chain.protected GridNioFilterprevFilterPrevious filter in filter chain.
-
Constructor Summary
Constructors Modifier Constructor Description protectedGridNioFilterAdapter(String name)Assigns filter name to a filter.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description GridNioFilternextFilter()Gets next filter in filter chain.voidnextFilter(GridNioFilter filter)Sets next filter in filter chain.GridNioFuture<?>onPauseReads(GridNioSession ses)Pauses reads for session.GridNioFuture<?>onResumeReads(GridNioSession ses)Resumes reads for session.GridNioFilterpreviousFilter()Gets previous filter in filter chain.voidpreviousFilter(GridNioFilter filter)Sets previous filter in filter chain.voidproceedExceptionCaught(GridNioSession ses, IgniteCheckedException e)Forwards GridNioException event to the next logical filter in filter chain.voidproceedMessageReceived(GridNioSession ses, Object msg)Forwards received message to the next logical filter in filter chain.GridNioFuture<?>proceedPauseReads(GridNioSession ses)Pauses reads for session.GridNioFuture<?>proceedResumeReads(GridNioSession ses)Resumes reads for session.GridNioFuture<Boolean>proceedSessionClose(GridNioSession ses)Forwards session close request to the next logical filter in filter chain.voidproceedSessionClosed(GridNioSession ses)Forwards session closed event to the next logical filter in filter chain.voidproceedSessionIdleTimeout(GridNioSession ses)Forwards session idle notification to the next logical filter in filter chain.voidproceedSessionOpened(GridNioSession ses)Forwards session opened event to the next logical filter in filter chain.GridNioFuture<?>proceedSessionWrite(GridNioSession ses, Object msg, boolean fut, IgniteInClosure<IgniteException> ackC)Forwards write request to the next logical filter in filter chain.voidproceedSessionWriteTimeout(GridNioSession ses)Forwards session write timeout notification to the next logical filter in filter chain.voidstart()Beginning of a filter lifecycle, invoked on server start.voidstop()End of a filter lifecycle, invoked on server stop.StringtoString()-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.ignite.internal.util.nio.GridNioFilter
onExceptionCaught, onMessageReceived, onSessionClose, onSessionClosed, onSessionIdleTimeout, onSessionOpened, onSessionWrite, onSessionWriteTimeout
-
-
-
-
Field Detail
-
nextFilter
protected GridNioFilter nextFilter
Next filter in filter chain.
-
prevFilter
protected GridNioFilter prevFilter
Previous filter in filter chain.
-
-
Constructor Detail
-
GridNioFilterAdapter
protected GridNioFilterAdapter(String name)
Assigns filter name to a filter.- Parameters:
name- Filter name. Used in filter chain.
-
-
Method Detail
-
start
public void start()
Beginning of a filter lifecycle, invoked on server start. It is guaranteed that this method will be invoked prior to any of the event-related methods.- Specified by:
startin interfaceGridNioFilter
-
stop
public void stop()
End of a filter lifecycle, invoked on server stop. It is guaranteed that this method will be invoked after all events are processed, no more event-related methods will be invoked after this method called.- Specified by:
stopin interfaceGridNioFilter
-
nextFilter
public GridNioFilter nextFilter()
Gets next filter in filter chain.- Specified by:
nextFilterin interfaceGridNioFilter- Returns:
- Next filter (in order from application to network layer).
-
previousFilter
public GridNioFilter previousFilter()
Gets previous filter in filter chain.- Specified by:
previousFilterin interfaceGridNioFilter- Returns:
- Previous filter (in order from application to network layer).
-
nextFilter
public void nextFilter(GridNioFilter filter)
Sets next filter in filter chain. In filter chain next filter would be more close to the network layer.- Specified by:
nextFilterin interfaceGridNioFilter- Parameters:
filter- Next filter in filter chain.
-
previousFilter
public void previousFilter(GridNioFilter filter)
Sets previous filter in filter chain. In filter chain previous filter would be more close to application layer.- Specified by:
previousFilterin interfaceGridNioFilter- Parameters:
filter- Previous filter in filter chain.
-
proceedSessionOpened
public void proceedSessionOpened(GridNioSession ses) throws IgniteCheckedException
Forwards session opened event to the next logical filter in filter chain.- Specified by:
proceedSessionOpenedin interfaceGridNioFilter- Parameters:
ses- Opened session.- Throws:
IgniteCheckedException- If filter is not in chain or GridNioException occurred in the underlying filter.
-
proceedSessionClosed
public void proceedSessionClosed(GridNioSession ses) throws IgniteCheckedException
Forwards session closed event to the next logical filter in filter chain.- Specified by:
proceedSessionClosedin interfaceGridNioFilter- Parameters:
ses- Closed session.- Throws:
IgniteCheckedException- If filter is not in chain or GridNioException occurred in the underlying filter.
-
proceedExceptionCaught
public void proceedExceptionCaught(GridNioSession ses, IgniteCheckedException e) throws IgniteCheckedException
Forwards GridNioException event to the next logical filter in filter chain.- Specified by:
proceedExceptionCaughtin interfaceGridNioFilter- Parameters:
ses- Session instance.e- GridNioException instance.- Throws:
IgniteCheckedException- If filter is not in chain or GridNioException occurred in the underlying filter.
-
proceedMessageReceived
public void proceedMessageReceived(GridNioSession ses, Object msg) throws IgniteCheckedException
Forwards received message to the next logical filter in filter chain.- Specified by:
proceedMessageReceivedin interfaceGridNioFilter- Parameters:
ses- Session instance.msg- Received message.- Throws:
IgniteCheckedException- If filter is not in chain or GridNioException occurred in the underlying filter.
-
proceedSessionWrite
public GridNioFuture<?> proceedSessionWrite(GridNioSession ses, Object msg, boolean fut, IgniteInClosure<IgniteException> ackC) throws IgniteCheckedException
Forwards write request to the next logical filter in filter chain.- Specified by:
proceedSessionWritein interfaceGridNioFilter- Parameters:
ses- Session instance.msg- Message to send.fut-Trueif write future should be created.ackC- Closure invoked when message ACK is received.- Returns:
- Write future or
null. - Throws:
IgniteCheckedException- If filter is not in chain or GridNioException occurred in the underlying filter.
-
proceedSessionClose
public GridNioFuture<Boolean> proceedSessionClose(GridNioSession ses) throws IgniteCheckedException
Forwards session close request to the next logical filter in filter chain.- Specified by:
proceedSessionClosein interfaceGridNioFilter- Parameters:
ses- Session instance.- Returns:
- Close future.
- Throws:
IgniteCheckedException- If filter is not in chain or GridNioException occurred in the underlying filter.
-
proceedSessionIdleTimeout
public void proceedSessionIdleTimeout(GridNioSession ses) throws IgniteCheckedException
Forwards session idle notification to the next logical filter in filter chain.- Specified by:
proceedSessionIdleTimeoutin interfaceGridNioFilter- Parameters:
ses- Session instance.- Throws:
IgniteCheckedException- If filter is not in chain or GridNioException occurred in the underlying filter.
-
proceedSessionWriteTimeout
public void proceedSessionWriteTimeout(GridNioSession ses) throws IgniteCheckedException
Forwards session write timeout notification to the next logical filter in filter chain.- Specified by:
proceedSessionWriteTimeoutin interfaceGridNioFilter- Parameters:
ses- Session instance.- Throws:
IgniteCheckedException- If filter is not in chain or GridNioException occurred in the underlying filter.
-
proceedPauseReads
public GridNioFuture<?> proceedPauseReads(GridNioSession ses) throws IgniteCheckedException
Pauses reads for session.- Specified by:
proceedPauseReadsin interfaceGridNioFilter- Parameters:
ses- Session.- Returns:
- Future for operation.
- Throws:
IgniteCheckedException- If filter is not in chain or GridNioException occurred in the underlying filter.
-
proceedResumeReads
public GridNioFuture<?> proceedResumeReads(GridNioSession ses) throws IgniteCheckedException
Resumes reads for session.- Specified by:
proceedResumeReadsin interfaceGridNioFilter- Parameters:
ses- Session.- Returns:
- Future for operation.
- Throws:
IgniteCheckedException- If filter is not in chain or GridNioException occurred in the underlying filter.
-
onPauseReads
public GridNioFuture<?> onPauseReads(GridNioSession ses) throws IgniteCheckedException
Pauses reads for session.- Specified by:
onPauseReadsin interfaceGridNioFilter- Parameters:
ses- Session.- Returns:
- Future for operation.
- Throws:
IgniteCheckedException- If filter is not in chain or GridNioException occurred in the underlying filter.
-
onResumeReads
public GridNioFuture<?> onResumeReads(GridNioSession ses) throws IgniteCheckedException
Resumes reads for session.- Specified by:
onResumeReadsin interfaceGridNioFilter- Parameters:
ses- Session.- Returns:
- Future for operation.
- Throws:
IgniteCheckedException- If filter is not in chain or GridNioException occurred in the underlying filter.
-
-