Accepts messages from external sources. Associated with a core. Sends incoming events to the core’s streams, queries the core’s index for states.
(gen-tcp-handler core stats channel-group handler)
Wraps Netty boilerplate for common TCP server handlers. Given a reference to a core, a stats package, a channel group, and a handler fn, returns a ChannelInboundHandlerAdapter which calls (handler core stats channel-handler-context message) for each received message.
Automatically handles channel closure, and handles exceptions thrown by the handler by logging an error and closing the channel.
(initializer core stats channel-group ssl-context)
A channel pipeline initializer for a TCP server.
Provide native implementation of Netty for improved performance on Linux only. Provide pure-Java implementation of Netty on all other platforms. See http://netty.io/wiki/native-transports.html
Given an SSLContext, creates a new SSLEngine and a corresponding Netty SslHandler wrapping it.
(tcp-handler core stats ctx message)
Given a core, a channel, and a message, applies the message to core and writes a response back on this channel.
Create a new TCP server. Doesn’t start until (service/start!).
Options: :host The host to listen on (default 127.0.0.1). :port The port to listen on. (default 5554 with TLS, or 5555 std) :core An atom used to track the active core for this server. :so-backlog The maximum queue length for incoming tcp connections (default 50). :channel-group A global channel group used to track all connections. :initializer A ChannelInitializer for creating new pipelines.
TLS options: :tls? Whether to enable TLS :key A PKCS8-encoded private key file :cert The corresponding public certificate :ca-cert The certificate of the CA which signed this key