Package org.drasyl.node.handler.crypto
Class LongTimeArmHandler
- java.lang.Object
-
- io.netty.channel.ChannelHandlerAdapter
-
- io.netty.channel.ChannelInboundHandlerAdapter
-
- io.netty.channel.ChannelDuplexHandler
-
- io.netty.handler.codec.MessageToMessageCodec<ArmHeader,io.netty.buffer.ByteBuf>
-
- org.drasyl.node.handler.crypto.AbstractArmHandler
-
- org.drasyl.node.handler.crypto.LongTimeArmHandler
-
- All Implemented Interfaces:
io.netty.channel.ChannelHandler
,io.netty.channel.ChannelInboundHandler
,io.netty.channel.ChannelOutboundHandler
public class LongTimeArmHandler extends AbstractArmHandler
Arms (encrypt) outbound and disarms (decrypt) inbound messages. Messages that could not be (dis-)armed are dropped. Uses only long time keys.
-
-
Field Summary
-
Fields inherited from class org.drasyl.node.handler.crypto.AbstractArmHandler
crypto, identity, peerIdentity, session
-
-
Constructor Summary
Constructors Modifier Constructor Description LongTimeArmHandler(Duration expireAfter, int maxAgreements, Identity identity, IdentityPublicKey peerIdentity)
LongTimeArmHandler(Crypto crypto, Duration expireAfter, int maxAgreements, Identity identity, IdentityPublicKey peerIdentity)
protected
LongTimeArmHandler(Crypto crypto, Identity identity, IdentityPublicKey peerIdentity, Session session)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Agreement
getAgreement(AgreementId agreementId)
protected void
inboundArmMessage(io.netty.channel.ChannelHandlerContext ctx, Object msg)
protected void
onNonAgreement(io.netty.channel.ChannelHandlerContext ctx)
protected void
removeStaleAgreement(io.netty.channel.ChannelHandlerContext ctx, Agreement agreement)
-
Methods inherited from class org.drasyl.node.handler.crypto.AbstractArmHandler
arm, decode, encode, unarm
-
Methods inherited from class io.netty.handler.codec.MessageToMessageCodec
acceptInboundMessage, acceptOutboundMessage, channelRead, write
-
Methods inherited from class io.netty.channel.ChannelDuplexHandler
bind, close, connect, deregister, disconnect, flush, read
-
Methods inherited from class io.netty.channel.ChannelInboundHandlerAdapter
channelActive, channelInactive, channelReadComplete, channelRegistered, channelUnregistered, channelWritabilityChanged, exceptionCaught, userEventTriggered
-
Methods inherited from class io.netty.channel.ChannelHandlerAdapter
ensureNotSharable, handlerAdded, handlerRemoved, isSharable
-
-
-
-
Constructor Detail
-
LongTimeArmHandler
protected LongTimeArmHandler(Crypto crypto, Identity identity, IdentityPublicKey peerIdentity, Session session)
-
LongTimeArmHandler
public LongTimeArmHandler(Crypto crypto, Duration expireAfter, int maxAgreements, Identity identity, IdentityPublicKey peerIdentity) throws CryptoException
- Throws:
CryptoException
-
LongTimeArmHandler
public LongTimeArmHandler(Duration expireAfter, int maxAgreements, Identity identity, IdentityPublicKey peerIdentity) throws CryptoException
- Throws:
CryptoException
-
-
Method Detail
-
inboundArmMessage
protected void inboundArmMessage(io.netty.channel.ChannelHandlerContext ctx, Object msg)
- Specified by:
inboundArmMessage
in classAbstractArmHandler
-
onNonAgreement
protected void onNonAgreement(io.netty.channel.ChannelHandlerContext ctx)
- Specified by:
onNonAgreement
in classAbstractArmHandler
-
removeStaleAgreement
protected void removeStaleAgreement(io.netty.channel.ChannelHandlerContext ctx, Agreement agreement)
- Specified by:
removeStaleAgreement
in classAbstractArmHandler
-
getAgreement
protected Agreement getAgreement(AgreementId agreementId)
- Specified by:
getAgreement
in classAbstractArmHandler
-
-