RemovableChannelHandler

A RemovableChannelHandler is a ChannelHandler that can be dynamically removed from a ChannelPipeline whilst the Channel is operating normally. A RemovableChannelHandler is required to remove itself from the ChannelPipeline (using ChannelHandlerContext.leavePipeline) as soon as possible.

ChannelHandler.swift:320
protocol RemovableChannelHandler : ChannelHandler
Browse conforming types

Requirements

Instance members

  • func removeHandler(context: ChannelHandlerContext, removalToken: ChannelHandlerContext.RemovalToken)

    Ask the receiving RemovableChannelHandler to remove itself from the ChannelPipeline as soon as possible. The receiving RemovableChannelHandler may elect to remove itself sometime after this method call, rather than immediately, but if it does so it must take the necessary precautions to handle events arriving between the invocation of this method and the call to ChannelHandlerContext.leavePipeline that triggers the actual removal.

See also

View members

Hide members

This section is hidden by default because it contains too many (12) members.

  • protocol Channel

    A Channel is easiest thought of as a network socket. But it can be anything that is capable of I/O operations such as read, write, connect, and bind.

  • protocol MulticastChannel

    A MulticastChannel is a Channel that supports IP multicast operations: that is, a channel that can join multicast groups.

  • protocol ChannelHandler

    Base protocol for handlers that handle I/O events or intercept an I/O operation.

  • protocol ChannelOutboundHandler

    ChannelHandler which handles outbound I/O events or intercept an outbound I/O operation for a Channel.

  • protocol ChannelInboundHandler

    ChannelHandler which handles inbound I/O events for a Channel.

  • typealias ChannelDuplexHandler

    A combination of ChannelInboundHandler and ChannelOutboundHandler.

  • class ChannelHandlerContext

    Every ChannelHandler has – when added to a ChannelPipeline – a corresponding ChannelHandlerContext which is the way ChannelHandlers can interact with other ChannelHandlers in the pipeline.

  • class ChannelPipeline

    A list of ChannelHandlers that handle or intercept inbound events and outbound operations of a Channel. ChannelPipeline implements an advanced form of the Intercepting Filter pattern to give a user full control over how an event is handled and how the ChannelHandlers in a pipeline interact with each other.

  • struct NIOAny

    NIOAny is an opaque container for values of any type, similar to Swift’s builtin Any type. Contrary to Any the overhead of NIOAny depends on the the type of the wrapped value. Certain types that are important for the performance of a SwiftNIO application like ByteBuffer, FileRegion and AddressEnvelope<ByteBuffer> can be expected to be wrapped almost without overhead. All others will have similar performance as if they were passed as an Any as NIOAny just like Any will contain them within an existential container.

  • enum ChannelEvent

    An Channel related event that is passed through the ChannelPipeline to notify the user.

  • enum CloseMode

    Specify what kind of close operation is requested.

  • struct ChannelShouldQuiesceEvent

    A Channel user event that is sent when the Channel has been asked to quiesce.

Citizens in NIOCore

Instance members