ChannelHandlerContextImpl

cc.otavia.core.channel.ChannelHandlerContextImpl
See theChannelHandlerContextImpl companion object
final class ChannelHandlerContextImpl(val pipeline: ChannelPipelineImpl, val name: String, val handler: ChannelHandler) extends ChannelHandlerContext

Attributes

Companion
object
Graph
Supertypes
class Object
trait Matchable
class Any
Show all

Members list

Value members

Concrete methods

override def bind(local: SocketAddress, future: ChannelFuture): ChannelFuture

Request to bind to the given SocketAddress and notify the ChannelFuture once the operation completes, either because the operation was successful or because of an error. This will result in having the SocketAddress) method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Request to bind to the given SocketAddress and notify the ChannelFuture once the operation completes, either because the operation was successful or because of an error. This will result in having the SocketAddress) method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Value parameters

future

bind async result

local

Address to bind

Attributes

Returns

same ChannelFuture in params future

Definition Classes
def callHandlerAdded(): Unit
def callHandlerRemoved(): Unit
override def close(future: ChannelFuture): ChannelFuture

Request to close the Channel and notify the ChannelFuture once the operation completes, either because the operation was successful or because of an error. After it is closed it is not possible to reuse it again. This will result in having the ChannelHandler.close method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Request to close the Channel and notify the ChannelFuture once the operation completes, either because the operation was successful or because of an error. After it is closed it is not possible to reuse it again. This will result in having the ChannelHandler.close method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Value parameters

future

operation async result.

Attributes

Returns

same ChannelFuture in params future

Definition Classes
override def connect(remote: SocketAddress, local: Option[SocketAddress], future: ChannelFuture): ChannelFuture

Request to connect to the given SocketAddress while bind to the local and notify the ChannelFuture once the operation completes, either because the operation was successful or because of an error. This will result in having the SocketAddress, SocketAddress) method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Request to connect to the given SocketAddress while bind to the local and notify the ChannelFuture once the operation completes, either because the operation was successful or because of an error. This will result in having the SocketAddress, SocketAddress) method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Value parameters

future

operation async result.

local

local address to bind.

remote

remote address to connect.

Attributes

Returns

same ChannelFuture in params future

Definition Classes
override def deregister(future: ChannelFuture): ChannelFuture

Request to deregister from the previous Reactor and notify the Future once the operation completes, either because the operation was successful or because of an error. This will result in having the ChannelHandler.deregister method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Request to deregister from the previous Reactor and notify the Future once the operation completes, either because the operation was successful or because of an error. This will result in having the ChannelHandler.deregister method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Value parameters

future

operation async result

Attributes

Returns

same ChannelFuture in params future

Definition Classes
override def disconnect(future: ChannelFuture): ChannelFuture

Request to disconnect from the remote peer and notify the ChannelFuture once the operation completes, either because the operation was successful or because of an error. This will result in having the ChannelHandler.disconnect method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Request to disconnect from the remote peer and notify the ChannelFuture once the operation completes, either because the operation was successful or because of an error. This will result in having the ChannelHandler.disconnect method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Value parameters

future

operation async result.

Attributes

Returns

same ChannelFuture in params future

Definition Classes
override def executor: ChannelsActor[_]

Executor of this channel instance, the channel inbound and outbound event must execute in the binding executor

Executor of this channel instance, the channel inbound and outbound event must execute in the binding executor

Attributes

Definition Classes
override def fireChannelActive(): this.type

A Channel is active now, which means it is connected or opened. This will result in having the ChannelHandler.channelActive method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

A Channel is active now, which means it is connected or opened. This will result in having the ChannelHandler.channelActive method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Attributes

Definition Classes
override def fireChannelExceptionCaught(cause: Throwable): this.type

A Channel received an Throwable in one of its inbound operations. This will result in having the Throwable) method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

A Channel received an Throwable in one of its inbound operations. This will result in having the Throwable) method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Attributes

Definition Classes
override def fireChannelExceptionCaught(cause: Throwable, id: Long): this.type

A Channel received an Throwable in one of its inbound operations. This will result in having the Throwable) method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

A Channel received an Throwable in one of its inbound operations. This will result in having the Throwable) method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Attributes

Definition Classes
override def fireChannelInactive(): this.type

A Channel is inactive now, which means it is closed. This will result in having the ChannelHandler.channelInactive method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

A Channel is inactive now, which means it is closed. This will result in having the ChannelHandler.channelInactive method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Attributes

Definition Classes
override def fireChannelInboundEvent(evt: AnyRef): this.type

A Channel received a custom defined inbound event. This will result in having the Object) method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

A Channel received a custom defined inbound event. This will result in having the Object) method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Attributes

Definition Classes
override def fireChannelRead(msg: AnyRef): this.type

A Channel received a message. This will result in having the Object) method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

A Channel received a message. This will result in having the Object) method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Attributes

Definition Classes
override def fireChannelRead(msg: AnyRef, msgId: Long): this.type

A Channel received a message. This will result in having the Object) method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

A Channel received a message. This will result in having the Object) method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Attributes

Definition Classes
override def fireChannelReadComplete(): this.type

Triggers an ChannelHandler.channelReadComplete event to the next ChannelHandler in the ChannelPipeline.

Triggers an ChannelHandler.channelReadComplete event to the next ChannelHandler in the ChannelPipeline.

Attributes

Definition Classes
override def fireChannelRegistered(): this.type

A Channel was registered to Reactor. This will result in having the ChannelHandler.channelRegistered method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

A Channel was registered to Reactor. This will result in having the ChannelHandler.channelRegistered method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Attributes

Definition Classes
override def fireChannelShutdown(direction: ChannelShutdownDirection): this.type

A Channel was shutdown in a specific direction. This will result in having the ChannelShutdownDirection) method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

A Channel was shutdown in a specific direction. This will result in having the ChannelShutdownDirection) method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Value parameters

direction

the direction of shutdown

Attributes

Definition Classes
override def fireChannelTimeoutEvent(id: Long): this.type

A Channel received a custom defined timeout event. This will result in having the ChannelHandler.channelTimeoutEvent method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

A Channel received a custom defined timeout event. This will result in having the ChannelHandler.channelTimeoutEvent method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Value parameters

id

timer task register id

Attributes

Definition Classes
override def fireChannelUnregistered(): this.type

A Channel was unregistered from Reactor. This will result in having the ChannelHandler.channelUnregistered method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

A Channel was unregistered from Reactor. This will result in having the ChannelHandler.channelUnregistered method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Attributes

Definition Classes
override def fireChannelWritabilityChanged(): this.type

Attributes

Definition Classes
override def flush(): this.type

Request to flush all pending messages via this ChannelOutboundInvoker.

Request to flush all pending messages via this ChannelOutboundInvoker.

Attributes

Definition Classes

Write data by upstream.

Write data by upstream.

Attributes

Definition Classes
def index: Int
override def inflightFutures: QueueMap[ChannelPromise]

Attributes

Definition Classes
override def inflightStacks[T <: AnyRef]: QueueMap[ChannelStack[T]]

Attributes

Definition Classes
def invokeChannelExceptionCaught(cause: Throwable): Unit
def invokeChannelExceptionCaught(cause: Throwable, id: Long): Unit
override def isRemoved: Boolean

Return true if the ChannelHandler which belongs to this context was removed from the ChannelPipeline.

Return true if the ChannelHandler which belongs to this context was removed from the ChannelPipeline.

Attributes

Definition Classes
override def open(path: Path, options: Seq[OpenOption], attrs: Seq[FileAttribute[_]], future: ChannelFuture): ChannelFuture

Opens or creates a file, returning a file channel to access the file. An invocation of this method behaves in exactly the same way as the invocation

Opens or creates a file, returning a file channel to access the file. An invocation of this method behaves in exactly the same way as the invocation

options)

where options is a set of the options specified in the options array

This will result in having the ChannelHandler.open method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Value parameters

attrs

An optional list of file attributes to set atomically when creating the file

future

operation async result. It maybe fails with

  1. IllegalArgumentException - If the set contains an invalid combination of options
  2. UnsupportedOperationException – If the path is associated with a provider that does not support creating file channels, or an unsupported open option is specified.
  3. FileAlreadyExistsException – If a file of that name already exists and the CREATE_NEW option is specified and the file is being opened for writing (optional specific exception) IOException – If an I/O error occurs
  4. SecurityException – If a security manager is installed and it denies an unspecified permission required by the implementation. In the case of the default provider, the SecurityManager.checkRead(String) method is invoked to check read access if the file is opened for reading. The SecurityManager.checkWrite(String) method is invoked to check write access if the file is opened for writing
options

Options specifying how the file is opened

path

The path of the file to open or create

Attributes

Returns

same ChannelFuture in params future

See also

FileChannel

Definition Classes

Write data by upstream.

Write data by upstream.

Attributes

Definition Classes
override def read(readPlan: ReadPlan): this.type

Request to read data from the Channel, triggers an Object) event if data was read, and triggers a channelReadComplete event so the handler can decide to continue reading. If there's a pending read operation already, this method does nothing. This will result in having the ReadBufferAllocator) method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Request to read data from the Channel, triggers an Object) event if data was read, and triggers a channelReadComplete event so the handler can decide to continue reading. If there's a pending read operation already, this method does nothing. This will result in having the ReadBufferAllocator) method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Attributes

Definition Classes
override def read(): this.type

Attributes

Definition Classes
override def register(future: ChannelFuture): ChannelFuture

Request to register on the Reactor for I/O processing. ChannelFuture once the operation completes, either because the operation was successful or because of an error. This will result in having the ChannelHandler.register method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Request to register on the Reactor for I/O processing. ChannelFuture once the operation completes, either because the operation was successful or because of an error. This will result in having the ChannelHandler.register method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Value parameters

future

operation async result

Attributes

Returns

same ChannelFuture in params future

Definition Classes
def remove(relink: Boolean): Unit
override def sendOutboundEvent(event: AnyRef): Unit

Send a custom outbound event via this ChannelOutboundInvoker through the ChannelPipeline. This will result in having the

Send a custom outbound event via this ChannelOutboundInvoker through the ChannelPipeline. This will result in having the

ChannelHandler.sendOutboundEvent(ChannelHandlerContext, Object)

method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Attributes

Definition Classes
def setAddComplete(): Boolean
def setIndex(id: Int): Unit
override def shutdown(direction: ChannelShutdownDirection, future: ChannelFuture): ChannelFuture

Request shutdown one direction of the Channel and notify the ChannelFuture once the operation completes, either because the operation was successful or because of an error. When completed, the channel will either not produce any inbound data anymore, or it will not be possible to write data anymore, depending on the given ChannelShutdownDirection. Depending on the transport implementation shutting down the ChannelShutdownDirection.Outbound or ChannelShutdownDirection.Inbound might also result in data transferred over the network. Like for example in case of TCP shutting down the ChannelShutdownDirection.Outbound will result in a FIN that is transmitted to the remote peer that will as a result shutdown ChannelShutdownDirection.Inbound. This will result in having the ChannelShutdownDirection). method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Request shutdown one direction of the Channel and notify the ChannelFuture once the operation completes, either because the operation was successful or because of an error. When completed, the channel will either not produce any inbound data anymore, or it will not be possible to write data anymore, depending on the given ChannelShutdownDirection. Depending on the transport implementation shutting down the ChannelShutdownDirection.Outbound or ChannelShutdownDirection.Inbound might also result in data transferred over the network. Like for example in case of TCP shutting down the ChannelShutdownDirection.Outbound will result in a FIN that is transmitted to the remote peer that will as a result shutdown ChannelShutdownDirection.Inbound. This will result in having the ChannelShutdownDirection). method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Value parameters

direction

direction to shutdown

future

operation async result

Attributes

Returns

same ChannelFuture in params future

Definition Classes
override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns

a string representation of the object.

Definition Classes
Any
override def write(msg: AnyRef): Unit

Request to write a message via this ChannelHandlerContext through the ChannelPipeline. This method will not request to actual flush, so be sure to call flush() once you want to request to flush all pending data to the actual transport.

Request to write a message via this ChannelHandlerContext through the ChannelPipeline. This method will not request to actual flush, so be sure to call flush() once you want to request to flush all pending data to the actual transport.

Value parameters

msg

object to write

Attributes

Definition Classes
override def write(msg: AnyRef, msgId: Long): Unit

Attributes

Definition Classes
override def writeAndFlush(msg: AnyRef): Unit

Shortcut for call write(Object) and flush().

Shortcut for call write(Object) and flush().

Attributes

Definition Classes
override def writeAndFlush(msg: AnyRef, msgId: Long): Unit

Attributes

Definition Classes

Inherited methods

The Channel which is bound to the ChannelHandlerContext.

The Channel which is bound to the ChannelHandlerContext.

Attributes

Inherited from:
ChannelHandlerContext
final def connect(remote: SocketAddress, future: ChannelFuture): ChannelFuture

Request to connect to the given SocketAddress and notify the ChannelFuture once the operation completes, either because the operation was successful or because of an error. If the connection fails because of a connection timeout, the ChannelFuture will get failed with a ConnectTimeoutException. If it fails because of connection refused a ConnectException will be used. This will result in having the SocketAddress, SocketAddress) method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Request to connect to the given SocketAddress and notify the ChannelFuture once the operation completes, either because the operation was successful or because of an error. If the connection fails because of a connection timeout, the ChannelFuture will get failed with a ConnectTimeoutException. If it fails because of connection refused a ConnectException will be used. This will result in having the SocketAddress, SocketAddress) method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Value parameters

remote

remote address to connect.

Attributes

Inherited from:
ChannelOutboundInvoker

Return the assigned PooledPageAllocator which will be used to allocate off-heap RecyclablePageBuffers.

Return the assigned PooledPageAllocator which will be used to allocate off-heap RecyclablePageBuffers.

Attributes

Inherited from:
ChannelHandlerContext
final def hasInboundAdaptive: Boolean

If the handler has inbound AdaptiveBuffer

If the handler has inbound AdaptiveBuffer

Attributes

Inherited from:
ChannelHandlerContext
final def hasOutboundAdaptive: Boolean

If the handler has outbound AdaptiveBuffer

If the handler has outbound AdaptiveBuffer

Attributes

Inherited from:
ChannelHandlerContext

Return the assigned PooledPageAllocator which will be used to allocate heap RecyclablePageBuffers.

Return the assigned PooledPageAllocator which will be used to allocate heap RecyclablePageBuffers.

Attributes

Inherited from:
ChannelHandlerContext
final def isBufferHandlerContext: Boolean

Attributes

Inherited from:
ChannelHandlerContext
final def open(file: File, options: Seq[OpenOption], attrs: Seq[FileAttribute[_]], future: ChannelFuture): ChannelFuture

Opens or creates a file, returning a file channel to access the file. An invocation of this method behaves in exactly the same way as the invocation

Opens or creates a file, returning a file channel to access the file. An invocation of this method behaves in exactly the same way as the invocation

options)

where options is a set of the options specified in the options array

This will result in having the ChannelHandler.open method called of the next ChannelHandler contained in the ChannelPipeline of the Channel.

Value parameters

attrs

An optional list of file attributes to set atomically when creating the file

file

The file to open or create

future

operation async result. It maybe fails with

  1. IllegalArgumentException - If the set contains an invalid combination of options
  2. UnsupportedOperationException – If the path is associated with a provider that does not support creating file channels, or an unsupported open option is specified.
  3. FileAlreadyExistsException – If a file of that name already exists and the CREATE_NEW option is specified and the file is being opened for writing (optional specific exception) IOException – If an I/O error occurs
  4. SecurityException – If a security manager is installed and it denies an unspecified permission required by the implementation. In the case of the default provider, the SecurityManager.checkRead(String) method is invoked to check read access if the file is opened for reading. The SecurityManager.checkWrite(String) method is invoked to check write access if the file is opened for writing
options

Options specifying how the file is opened

Attributes

Returns

same ChannelFuture in params future

See also

FileChannel

Inherited from:
ChannelOutboundInvoker
final def system: ActorSystem

Attributes

Inherited from:
ChannelOutboundInvoker
def timer: Timer

Timer of this actor system.

Timer of this actor system.

Attributes

Inherited from:
ChannelHandlerContext

Concrete fields

override val handler: ChannelHandler

The ChannelHandler that is bound this ChannelHandlerContext.

The ChannelHandler that is bound this ChannelHandlerContext.

Attributes

override val name: String

The unique name of the ChannelHandlerContext.The name was used when then ChannelHandler was added to the ChannelPipeline. This name can also be used to access the registered ChannelHandler from the ChannelPipeline.

The unique name of the ChannelHandlerContext.The name was used when then ChannelHandler was added to the ChannelPipeline. This name can also be used to access the registered ChannelHandler from the ChannelPipeline.

Attributes

The assigned ChannelPipeline

The assigned ChannelPipeline

Attributes