ChannelHandler

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

ChannelHandler.swift:20
protocol ChannelHandler : AnyObject
Browse conforming types

All methods are called from within the EventLoop that is assigned to the Channel itself.

You should never implement this protocol directly. Please implement one of its sub-protocols.

Requirements

Instance members

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 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.

  • protocol 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.

  • 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

Subtypes

Show implementation details (2)

Hide implementation details