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
- Protected
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: AnyRef): 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: AnyRef): 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(classOf[java.lang.CloneNotSupportedException]) @native()
- def ensureNotSharable(): Unit
- Attributes
- protected[channel]
- Definition Classes
- ChannelHandlerAdapter
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): 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[_ <: AnyRef]
- 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: AnyRef): 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(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()