Class AbstractChannelizer
- java.lang.Object
-
- io.netty.channel.ChannelHandlerAdapter
-
- io.netty.channel.ChannelInboundHandlerAdapter
-
- io.netty.channel.ChannelInitializer<io.netty.channel.socket.SocketChannel>
-
- org.apache.tinkerpop.gremlin.server.AbstractChannelizer
-
- All Implemented Interfaces:
io.netty.channel.ChannelHandler
,io.netty.channel.ChannelInboundHandler
,Channelizer
- Direct Known Subclasses:
HttpChannelizer
,UnifiedChannelizer
,WebSocketChannelizer
,WsAndHttpChannelizer
public abstract class AbstractChannelizer extends io.netty.channel.ChannelInitializer<io.netty.channel.socket.SocketChannel> implements Channelizer
A base implementation for theChannelizer
which does a basic configuration of the pipeline, one that is generally common to virtually any Gremlin Server operation (i.e. where the server's purpose is to process Gremlin scripts). Implementers need only worry about determining how incoming data is converted to aRequestMessage
and outgoing data is converted from aResponseMessage
to whatever expected format is needed by the pipeline.- Author:
- Stephen Mallette (http://stephen.genoprime.com)
-
-
Field Summary
Fields Modifier and Type Field Description protected Authenticator
authenticator
protected Authorizer
authorizer
protected static List<Settings.SerializerSettings>
DEFAULT_SERIALIZERS
protected GraphManager
graphManager
protected static String
GREMLIN_ENDPOINT
protected GremlinExecutor
gremlinExecutor
protected ExecutorService
gremlinExecutorService
static String
PIPELINE_AUTHENTICATOR
static String
PIPELINE_AUTHORIZER
static String
PIPELINE_HTTP_AGGREGATOR
protected static String
PIPELINE_HTTP_REQUEST_DECODER
static String
PIPELINE_HTTP_RESPONSE_ENCODER
protected static String
PIPELINE_OP_EXECUTOR
protected static String
PIPELINE_OP_SELECTOR
static String
PIPELINE_REQUEST_HANDLER
protected static String
PIPELINE_SSL
static String
PIPELINE_WEBSOCKET_SERVER_COMPRESSION
protected ScheduledExecutorService
scheduledExecutorService
protected Map<String,MessageSerializer<?>>
serializers
protected Settings
settings
protected Optional<io.netty.handler.ssl.SslContext>
sslContext
-
Constructor Summary
Constructors Constructor Description AbstractChannelizer()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract void
configure(io.netty.channel.ChannelPipeline pipeline)
This method is called from withininitChannel(SocketChannel)
just after the SSL handler is put in the pipeline.protected AbstractAuthenticationHandler
createAuthenticationHandler(Settings settings)
void
finalize(io.netty.channel.ChannelPipeline pipeline)
This method is called after the pipeline is completely configured.void
init(ServerGremlinExecutor serverGremlinExecutor)
This method is called just after theChannelizer
is initialized.void
initChannel(io.netty.channel.socket.SocketChannel ch)
-
Methods inherited from class io.netty.channel.ChannelInitializer
channelRegistered, exceptionCaught, handlerAdded, handlerRemoved
-
Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter
channelActive, channelInactive, channelRead, channelReadComplete, channelUnregistered, channelWritabilityChanged, userEventTriggered
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.apache.tinkerpop.gremlin.server.Channelizer
createIdleDetectionMessage, supportsIdleMonitor
-
-
-
-
Field Detail
-
DEFAULT_SERIALIZERS
protected static final List<Settings.SerializerSettings> DEFAULT_SERIALIZERS
-
settings
protected Settings settings
-
gremlinExecutor
protected GremlinExecutor gremlinExecutor
-
sslContext
protected Optional<io.netty.handler.ssl.SslContext> sslContext
-
graphManager
protected GraphManager graphManager
-
gremlinExecutorService
protected ExecutorService gremlinExecutorService
-
scheduledExecutorService
protected ScheduledExecutorService scheduledExecutorService
-
PIPELINE_AUTHENTICATOR
public static final String PIPELINE_AUTHENTICATOR
- See Also:
- Constant Field Values
-
PIPELINE_AUTHORIZER
public static final String PIPELINE_AUTHORIZER
- See Also:
- Constant Field Values
-
PIPELINE_REQUEST_HANDLER
public static final String PIPELINE_REQUEST_HANDLER
- See Also:
- Constant Field Values
-
PIPELINE_HTTP_RESPONSE_ENCODER
public static final String PIPELINE_HTTP_RESPONSE_ENCODER
- See Also:
- Constant Field Values
-
PIPELINE_HTTP_AGGREGATOR
public static final String PIPELINE_HTTP_AGGREGATOR
- See Also:
- Constant Field Values
-
PIPELINE_WEBSOCKET_SERVER_COMPRESSION
public static final String PIPELINE_WEBSOCKET_SERVER_COMPRESSION
- See Also:
- Constant Field Values
-
PIPELINE_SSL
protected static final String PIPELINE_SSL
- See Also:
- Constant Field Values
-
PIPELINE_OP_SELECTOR
protected static final String PIPELINE_OP_SELECTOR
- See Also:
- Constant Field Values
-
PIPELINE_OP_EXECUTOR
protected static final String PIPELINE_OP_EXECUTOR
- See Also:
- Constant Field Values
-
PIPELINE_HTTP_REQUEST_DECODER
protected static final String PIPELINE_HTTP_REQUEST_DECODER
- See Also:
- Constant Field Values
-
GREMLIN_ENDPOINT
protected static final String GREMLIN_ENDPOINT
- See Also:
- Constant Field Values
-
serializers
protected final Map<String,MessageSerializer<?>> serializers
-
authenticator
protected Authenticator authenticator
-
authorizer
protected Authorizer authorizer
-
-
Method Detail
-
configure
public abstract void configure(io.netty.channel.ChannelPipeline pipeline)
This method is called from withininitChannel(SocketChannel)
just after the SSL handler is put in the pipeline. Modify the pipeline as needed here.
-
finalize
public void finalize(io.netty.channel.ChannelPipeline pipeline)
This method is called after the pipeline is completely configured. It can be overridden to make any final changes to the pipeline before it goes into use.
-
init
public void init(ServerGremlinExecutor serverGremlinExecutor)
Description copied from interface:Channelizer
This method is called just after theChannelizer
is initialized.- Specified by:
init
in interfaceChannelizer
-
initChannel
public void initChannel(io.netty.channel.socket.SocketChannel ch) throws Exception
- Specified by:
initChannel
in classio.netty.channel.ChannelInitializer<io.netty.channel.socket.SocketChannel>
- Throws:
Exception
-
createAuthenticationHandler
protected AbstractAuthenticationHandler createAuthenticationHandler(Settings settings)
-
-