Package org.ldaptive.transport.netty
Class SaslHandler
- java.lang.Object
-
- io.netty.channel.ChannelHandlerAdapter
-
- io.netty.channel.ChannelInboundHandlerAdapter
-
- io.netty.handler.codec.ByteToMessageDecoder
-
- org.ldaptive.transport.netty.SaslHandler
-
- All Implemented Interfaces:
io.netty.channel.ChannelHandler
,io.netty.channel.ChannelInboundHandler
,io.netty.channel.ChannelOutboundHandler
public class SaslHandler extends io.netty.handler.codec.ByteToMessageDecoder implements io.netty.channel.ChannelOutboundHandler
Netty handler that uses aSaslClient
to wrap and unwrap requests and responses.
-
-
Field Summary
Fields Modifier and Type Field Description private Logger
logger
Logger for this class.private io.netty.channel.CoalescingBufferQueue
queue
To manage requests.private SaslClient
saslClient
Underlying SASL client.
-
Constructor Summary
Constructors Constructor Description SaslHandler(SaslClient sc)
Creates a new SASL handler.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
bind(io.netty.channel.ChannelHandlerContext ctx, SocketAddress localAddress, io.netty.channel.ChannelPromise promise)
void
close(io.netty.channel.ChannelHandlerContext ctx, io.netty.channel.ChannelPromise promise)
void
connect(io.netty.channel.ChannelHandlerContext ctx, SocketAddress remoteAddress, SocketAddress localAddress, io.netty.channel.ChannelPromise promise)
protected void
decode(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf in, List<Object> out)
void
deregister(io.netty.channel.ChannelHandlerContext ctx, io.netty.channel.ChannelPromise promise)
void
disconnect(io.netty.channel.ChannelHandlerContext ctx, io.netty.channel.ChannelPromise promise)
private void
dispose()
Disposes the SASL client and releases all buffers from the queue.void
flush(io.netty.channel.ChannelHandlerContext ctx)
void
handlerAdded(io.netty.channel.ChannelHandlerContext ctx)
void
handlerRemoved0(io.netty.channel.ChannelHandlerContext ctx)
void
read(io.netty.channel.ChannelHandlerContext ctx)
void
write(io.netty.channel.ChannelHandlerContext ctx, Object msg, io.netty.channel.ChannelPromise promise)
-
Methods inherited from class io.netty.handler.codec.ByteToMessageDecoder
actualReadableBytes, callDecode, channelInactive, channelRead, channelReadComplete, decodeLast, discardSomeReadBytes, handlerRemoved, internalBuffer, isSingleDecode, setCumulator, setDiscardAfterReads, setSingleDecode, userEventTriggered
-
Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter
channelActive, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught
-
-
-
-
Field Detail
-
logger
private final Logger logger
Logger for this class.
-
saslClient
private final SaslClient saslClient
Underlying SASL client.
-
queue
private io.netty.channel.CoalescingBufferQueue queue
To manage requests.
-
-
Constructor Detail
-
SaslHandler
public SaslHandler(SaslClient sc)
Creates a new SASL handler.- Parameters:
sc
- SASL client
-
-
Method Detail
-
handlerAdded
public void handlerAdded(io.netty.channel.ChannelHandlerContext ctx) throws Exception
- Specified by:
handlerAdded
in interfaceio.netty.channel.ChannelHandler
- Overrides:
handlerAdded
in classio.netty.channel.ChannelHandlerAdapter
- Throws:
Exception
-
handlerRemoved0
public void handlerRemoved0(io.netty.channel.ChannelHandlerContext ctx) throws Exception
- Overrides:
handlerRemoved0
in classio.netty.handler.codec.ByteToMessageDecoder
- Throws:
Exception
-
decode
protected void decode(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf in, List<Object> out) throws Exception
- Specified by:
decode
in classio.netty.handler.codec.ByteToMessageDecoder
- Throws:
Exception
-
bind
public void bind(io.netty.channel.ChannelHandlerContext ctx, SocketAddress localAddress, io.netty.channel.ChannelPromise promise) throws Exception
- Specified by:
bind
in interfaceio.netty.channel.ChannelOutboundHandler
- Throws:
Exception
-
connect
public void connect(io.netty.channel.ChannelHandlerContext ctx, SocketAddress remoteAddress, SocketAddress localAddress, io.netty.channel.ChannelPromise promise) throws Exception
- Specified by:
connect
in interfaceio.netty.channel.ChannelOutboundHandler
- Throws:
Exception
-
disconnect
public void disconnect(io.netty.channel.ChannelHandlerContext ctx, io.netty.channel.ChannelPromise promise) throws Exception
- Specified by:
disconnect
in interfaceio.netty.channel.ChannelOutboundHandler
- Throws:
Exception
-
close
public void close(io.netty.channel.ChannelHandlerContext ctx, io.netty.channel.ChannelPromise promise) throws Exception
- Specified by:
close
in interfaceio.netty.channel.ChannelOutboundHandler
- Throws:
Exception
-
dispose
private void dispose()
Disposes the SASL client and releases all buffers from the queue.
-
deregister
public void deregister(io.netty.channel.ChannelHandlerContext ctx, io.netty.channel.ChannelPromise promise) throws Exception
- Specified by:
deregister
in interfaceio.netty.channel.ChannelOutboundHandler
- Throws:
Exception
-
read
public void read(io.netty.channel.ChannelHandlerContext ctx) throws Exception
- Specified by:
read
in interfaceio.netty.channel.ChannelOutboundHandler
- Throws:
Exception
-
write
public void write(io.netty.channel.ChannelHandlerContext ctx, Object msg, io.netty.channel.ChannelPromise promise) throws Exception
- Specified by:
write
in interfaceio.netty.channel.ChannelOutboundHandler
- Throws:
Exception
-
-