class TransportChannelHandler extends SimpleChannelInboundHandler[Message]
The single Transport-level Channel handler which is used for delegating requests to the
TransportRequestHandler and responses to the TransportResponseHandler.
All channels created in the transport layer are bidirectional. When the Client initiates a Netty Channel with a RequestMessage (which gets handled by the Server's RequestHandler), the Server will produce a ResponseMessage (handled by the Client's ResponseHandler). However, the Server also gets a handle on the same Channel, so it may then begin to send RequestMessages to the Client. This means that the Client also needs a RequestHandler and the Server needs a ResponseHandler, for the Client's responses to the Server's requests.
This class also handles timeouts from a io.netty.handler.timeout.IdleStateHandler.
We consider a connection timed out if there are outstanding fetch or RPC requests but no traffic
on the channel for at least requestTimeoutMs. Note that this is duplex traffic; we will not
timeout if the client is continuously sending but getting no responses, for simplicity.
- Alphabetic
- By Inheritance
- TransportChannelHandler
- SimpleChannelInboundHandler
- ChannelInboundHandlerAdapter
- ChannelInboundHandler
- ChannelHandlerAdapter
- ChannelHandler
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new TransportChannelHandler(client: TransportClient, responseHandler: TransportResponseHandler, requestHandler: TransportRequestHandler, requestTimeoutMs: Long, skipChunkFetchRequest: Boolean, closeIdleConnections: Boolean, transportContext: TransportContext)
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
acceptInboundMessage(msg: Any): Boolean
Overwrite acceptInboundMessage to properly delegate ChunkFetchRequest messages to ChunkFetchRequestHandler.
Overwrite acceptInboundMessage to properly delegate ChunkFetchRequest messages to ChunkFetchRequestHandler.
- Definition Classes
- TransportChannelHandler → SimpleChannelInboundHandler
- Annotations
- @Override()
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
channelActive(ctx: ChannelHandlerContext): Unit
- Definition Classes
- TransportChannelHandler → ChannelInboundHandlerAdapter → ChannelInboundHandler
- Annotations
- @Override()
-
def
channelInactive(ctx: ChannelHandlerContext): Unit
- Definition Classes
- TransportChannelHandler → ChannelInboundHandlerAdapter → ChannelInboundHandler
- Annotations
- @Override()
-
def
channelRead(arg0: ChannelHandlerContext, arg1: Any): Unit
- Definition Classes
- SimpleChannelInboundHandler → ChannelInboundHandlerAdapter → ChannelInboundHandler
- Annotations
- @throws( classOf[java.lang.Exception] )
-
def
channelRead0(ctx: ChannelHandlerContext, request: Message): Unit
- Definition Classes
- TransportChannelHandler → SimpleChannelInboundHandler
- Annotations
- @Override()
-
def
channelReadComplete(arg0: ChannelHandlerContext): Unit
- Definition Classes
- ChannelInboundHandlerAdapter → ChannelInboundHandler
- Annotations
- @throws( classOf[java.lang.Exception] ) @Skip()
-
def
channelRegistered(ctx: ChannelHandlerContext): Unit
- Definition Classes
- TransportChannelHandler → ChannelInboundHandlerAdapter → ChannelInboundHandler
- Annotations
- @Override()
-
def
channelUnregistered(ctx: ChannelHandlerContext): Unit
- Definition Classes
- TransportChannelHandler → ChannelInboundHandlerAdapter → ChannelInboundHandler
- Annotations
- @Override()
-
def
channelWritabilityChanged(arg0: ChannelHandlerContext): Unit
- Definition Classes
- ChannelInboundHandlerAdapter → ChannelInboundHandler
- Annotations
- @throws( classOf[java.lang.Exception] ) @Skip()
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
def
ensureNotSharable(): Unit
- Attributes
- protected[channel]
- Definition Classes
- ChannelHandlerAdapter
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
exceptionCaught(ctx: ChannelHandlerContext, cause: Throwable): Unit
- Definition Classes
- TransportChannelHandler → ChannelInboundHandlerAdapter → ChannelInboundHandler → ChannelHandlerAdapter → ChannelHandler
- Annotations
- @Override()
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def getClient(): TransportClient
- def getResponseHandler(): TransportResponseHandler
-
def
handlerAdded(arg0: ChannelHandlerContext): Unit
- Definition Classes
- ChannelHandlerAdapter → ChannelHandler
- Annotations
- @throws( classOf[java.lang.Exception] )
-
def
handlerRemoved(arg0: ChannelHandlerContext): Unit
- Definition Classes
- ChannelHandlerAdapter → ChannelHandler
- Annotations
- @throws( classOf[java.lang.Exception] )
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isSharable(): Boolean
- Definition Classes
- ChannelHandlerAdapter
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
userEventTriggered(ctx: ChannelHandlerContext, evt: Any): Unit
Triggered based on events from an
io.netty.handler.timeout.IdleStateHandler.Triggered based on events from an
io.netty.handler.timeout.IdleStateHandler.- Definition Classes
- TransportChannelHandler → ChannelInboundHandlerAdapter → ChannelInboundHandler
- Annotations
- @Override()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()