func channelRead(context: ChannelHandlerContext, data: NIOAny)
s15HummingbirdCore20HTTPUserEventHandlerC11channelRead7context4datay7NIOCore07ChannelE7ContextC_AG6NIOAnyVtFWhat are these?
s15HummingbirdCore20HTTPUserEventHandlerC11channelRead7context4datay7NIOCore07ChannelE7ContextC_AG6NIOAnyVtF
FNV24: [72JC]
typealias InboundIn
typealias InboundOut
typealias OutboundIn
typealias OutboundOut
init(logger: Logger)
func userInboundEventTriggered(context: ChannelHandlerContext, event: Any)
func write(context: ChannelHandlerContext, data: NIOAny, promise: EventLoopPromise<Void>?)
import HummingbirdCore
final class HTTPUserEventHandler
final 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.
ChannelHandler
ChannelPipeline
ChannelHandlerContext
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.
NIOAny
Any
ByteBuffer
FileRegion
AddressEnvelope<ByteBuffer>
typealias InboundIn = HTTPRequestPart
typealias InboundOut = HTTPRequestPart
typealias OutboundIn = HTTPResponsePart
typealias OutboundOut = HTTPResponsePart