Package io.grpc.alts.internal
Class TsiFrameHandler
- java.lang.Object
-
- io.netty.channel.ChannelHandlerAdapter
-
- io.netty.channel.ChannelInboundHandlerAdapter
-
- io.netty.handler.codec.ByteToMessageDecoder
-
- io.grpc.alts.internal.TsiFrameHandler
-
- All Implemented Interfaces:
io.netty.channel.ChannelHandler
,io.netty.channel.ChannelInboundHandler
,io.netty.channel.ChannelOutboundHandler
public final class TsiFrameHandler extends io.netty.handler.codec.ByteToMessageDecoder implements io.netty.channel.ChannelOutboundHandler
Encrypts and decrypts TSI Frames. Writes are buffered here untilflush(io.netty.channel.ChannelHandlerContext)
is called. Writes must not be made before the TSI handshake is complete.
-
-
Field Summary
Fields Modifier and Type Field Description private boolean
closeInitiated
private static java.util.logging.Logger
logger
private io.netty.channel.PendingWriteQueue
pendingUnprotectedWrites
private TsiFrameProtector
protector
-
Constructor Summary
Constructors Constructor Description TsiFrameHandler(TsiFrameProtector protector)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
bind(io.netty.channel.ChannelHandlerContext ctx, java.net.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, java.net.SocketAddress remoteAddress, java.net.SocketAddress localAddress, io.netty.channel.ChannelPromise promise)
protected void
decode(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf in, java.util.List<java.lang.Object> out)
void
deregister(io.netty.channel.ChannelHandlerContext ctx, io.netty.channel.ChannelPromise promise)
private void
destroyProtectorAndWrites()
void
disconnect(io.netty.channel.ChannelHandlerContext ctx, io.netty.channel.ChannelPromise promise)
private void
doClose(io.netty.channel.ChannelHandlerContext ctx)
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, java.lang.Object message, 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 static final java.util.logging.Logger logger
-
protector
private TsiFrameProtector protector
-
pendingUnprotectedWrites
private io.netty.channel.PendingWriteQueue pendingUnprotectedWrites
-
closeInitiated
private boolean closeInitiated
-
-
Constructor Detail
-
TsiFrameHandler
public TsiFrameHandler(TsiFrameProtector protector)
-
-
Method Detail
-
handlerAdded
public void handlerAdded(io.netty.channel.ChannelHandlerContext ctx) throws java.lang.Exception
- Specified by:
handlerAdded
in interfaceio.netty.channel.ChannelHandler
- Overrides:
handlerAdded
in classio.netty.channel.ChannelHandlerAdapter
- Throws:
java.lang.Exception
-
decode
protected void decode(io.netty.channel.ChannelHandlerContext ctx, io.netty.buffer.ByteBuf in, java.util.List<java.lang.Object> out) throws java.lang.Exception
- Specified by:
decode
in classio.netty.handler.codec.ByteToMessageDecoder
- Throws:
java.lang.Exception
-
write
public void write(io.netty.channel.ChannelHandlerContext ctx, java.lang.Object message, io.netty.channel.ChannelPromise promise)
- Specified by:
write
in interfaceio.netty.channel.ChannelOutboundHandler
-
handlerRemoved0
public void handlerRemoved0(io.netty.channel.ChannelHandlerContext ctx) throws java.lang.Exception
- Overrides:
handlerRemoved0
in classio.netty.handler.codec.ByteToMessageDecoder
- Throws:
java.lang.Exception
-
disconnect
public void disconnect(io.netty.channel.ChannelHandlerContext ctx, io.netty.channel.ChannelPromise promise)
- Specified by:
disconnect
in interfaceio.netty.channel.ChannelOutboundHandler
-
close
public void close(io.netty.channel.ChannelHandlerContext ctx, io.netty.channel.ChannelPromise promise)
- Specified by:
close
in interfaceio.netty.channel.ChannelOutboundHandler
-
doClose
private void doClose(io.netty.channel.ChannelHandlerContext ctx)
-
flush
public void flush(io.netty.channel.ChannelHandlerContext ctx) throws java.security.GeneralSecurityException
- Specified by:
flush
in interfaceio.netty.channel.ChannelOutboundHandler
- Throws:
java.security.GeneralSecurityException
-
bind
public void bind(io.netty.channel.ChannelHandlerContext ctx, java.net.SocketAddress localAddress, io.netty.channel.ChannelPromise promise)
- Specified by:
bind
in interfaceio.netty.channel.ChannelOutboundHandler
-
connect
public void connect(io.netty.channel.ChannelHandlerContext ctx, java.net.SocketAddress remoteAddress, java.net.SocketAddress localAddress, io.netty.channel.ChannelPromise promise)
- Specified by:
connect
in interfaceio.netty.channel.ChannelOutboundHandler
-
deregister
public void deregister(io.netty.channel.ChannelHandlerContext ctx, io.netty.channel.ChannelPromise promise)
- Specified by:
deregister
in interfaceio.netty.channel.ChannelOutboundHandler
-
read
public void read(io.netty.channel.ChannelHandlerContext ctx)
- Specified by:
read
in interfaceio.netty.channel.ChannelOutboundHandler
-
destroyProtectorAndWrites
private void destroyProtectorAndWrites()
-
-