ChannelHandlerContext

cc.otavia.core.channel.ChannelHandlerContext

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes

Members list

Value members

Abstract methods

The ChannelHandler that is bound this ChannelHandlerContext.

The ChannelHandler that is bound this ChannelHandlerContext.

Attributes

Write data by upstream.

Write data by upstream.

Attributes

def inflightFutures: QueueMap[ChannelPromise]
def inflightStacks[T <: AnyRef]: QueueMap[ChannelStack[T]]
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

def 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

Write data by upstream.

Write data by upstream.

Attributes

The assigned ChannelPipeline

The assigned ChannelPipeline

Attributes

Concrete methods

The Channel which is bound to the ChannelHandlerContext.

The Channel which is bound to the ChannelHandlerContext.

Attributes

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

final def hasInboundAdaptive: Boolean

If the handler has inbound AdaptiveBuffer

If the handler has inbound AdaptiveBuffer

Attributes

final def hasOutboundAdaptive: Boolean

If the handler has outbound AdaptiveBuffer

If the handler has outbound AdaptiveBuffer

Attributes

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

final def isBufferHandlerContext: Boolean
def timer: Timer

Timer of this actor system.

Timer of this actor system.

Attributes

Inherited methods

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

Inherited from:
ChannelOutboundInvoker

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

Inherited from:
ChannelOutboundInvoker
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
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

Inherited from:
ChannelOutboundInvoker

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

Inherited from:
ChannelOutboundInvoker

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

Inherited from:
ChannelOutboundInvoker

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

Inherited from:
ChannelOutboundInvoker

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

Inherited from:
ChannelInboundInvoker
def fireChannelExceptionCaught(cause: Throwable, id: Long): ChannelInboundInvoker.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

Inherited from:
ChannelInboundInvoker
def fireChannelExceptionCaught(cause: Throwable): ChannelInboundInvoker.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

Inherited from:
ChannelInboundInvoker

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

Inherited from:
ChannelInboundInvoker
def fireChannelInboundEvent(event: AnyRef): ChannelInboundInvoker.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

Inherited from:
ChannelInboundInvoker
def fireChannelRead(msg: AnyRef, msgId: Long): ChannelInboundInvoker.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

Inherited from:
ChannelInboundInvoker
def fireChannelRead(msg: AnyRef): ChannelInboundInvoker.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

Inherited from:
ChannelInboundInvoker

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

Inherited from:
ChannelInboundInvoker

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

Inherited from:
ChannelInboundInvoker

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

Inherited from:
ChannelInboundInvoker

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

Inherited from:
ChannelInboundInvoker

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

Inherited from:
ChannelInboundInvoker
def flush(): ChannelOutboundInvoker.this.type

Request to flush all pending messages via this ChannelOutboundInvoker.

Request to flush all pending messages via this ChannelOutboundInvoker.

Attributes

Inherited from:
ChannelOutboundInvoker
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
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

Inherited from:
ChannelOutboundInvoker
def read(): ChannelOutboundInvoker.this.type

Attributes

Inherited from:
ChannelOutboundInvoker
def read(readPlan: ReadPlan): ChannelOutboundInvoker.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

Inherited from:
ChannelOutboundInvoker

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

Inherited from:
ChannelOutboundInvoker
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

Inherited from:
ChannelOutboundInvoker

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

Inherited from:
ChannelOutboundInvoker
final def system: ActorSystem

Attributes

Inherited from:
ChannelOutboundInvoker
def write(msg: AnyRef, msgId: Long): Unit

Attributes

Inherited from:
ChannelOutboundInvoker
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

Inherited from:
ChannelOutboundInvoker
def writeAndFlush(msg: AnyRef, msgId: Long): Unit

Attributes

Inherited from:
ChannelOutboundInvoker
def writeAndFlush(msg: AnyRef): Unit

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

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

Attributes

Inherited from:
ChannelOutboundInvoker