Class AbstractNetBidibServerHandler<T>

java.lang.Object
org.bidib.jbidibc.netbidib.server.AbstractNetBidibServerHandler<T>
Type Parameters:
T - The type of message content that is produced.
All Implemented Interfaces:
org.bidib.jbidibc.messages.BidibMessagePublisher<T>
Direct Known Subclasses:
NetBidibServerHandlerByteArray

public abstract class AbstractNetBidibServerHandler<T> extends Object implements org.bidib.jbidibc.messages.BidibMessagePublisher<T>
The AbstractNetBidibServerHandler is a netty channel handler that is called when a data packet is received.
  • Field Details

    • pairedPartnerLock

      protected final Object pairedPartnerLock
  • Constructor Details

    • AbstractNetBidibServerHandler

      public AbstractNetBidibServerHandler(org.bidib.jbidibc.messages.message.netbidib.NetBidibLinkData serverLinkData, Function<org.bidib.jbidibc.messages.message.BidibMessageInterface,T> messageContentSupplier, RoleTypeEnum roleType, Supplier<org.bidib.jbidibc.core.BidibMessageEvaluator> bidibMessageEvaluatorSupplier)
      Constructor
      Parameters:
      serverLinkData - the server link data instance to use (with default values provided from config)
      channelGroup - the channel group to pool all TCP connections.
      hostAdapter - the host adapter
      connectionId - the connection name
  • Method Details

    • setNetMessageReceiver

      public void setNetMessageReceiver(ServerNetMessageReceiver netMessageReceiver)
    • initialize

      public void initialize()
    • getPairingStateHandler

      public PairingStateHandler getPairingStateHandler(Long uniqueId)
    • handleLocalBidibUpResponse

      protected boolean handleLocalBidibUpResponse()
    • addRemoteConnectionListener

      public void addRemoteConnectionListener(org.bidib.jbidibc.messages.ConnectionListener remoteConnectionListener)
    • removeRemoteConnectionListener

      public void removeRemoteConnectionListener(org.bidib.jbidibc.messages.ConnectionListener remoteConnectionListener)
    • setPairingStore

      public void setPairingStore(PairingStore pairingStore)
    • processMessages

      public void processMessages(ByteArrayOutputStream messageData, String contextKey) throws org.bidib.jbidibc.messages.exception.ProtocolException
      Throws:
      org.bidib.jbidibc.messages.exception.ProtocolException
    • channelRegistered

      public void channelRegistered(String contextKey, io.netty.channel.ChannelHandlerContext ctx)
    • cleanupHandlerContext

      public void cleanupHandlerContext(String contextKey)
    • publishBidibMessage

      protected void publishBidibMessage(String contextKey, org.bidib.jbidibc.messages.SequenceNumberProvider sequenceNumberProvider, org.bidib.jbidibc.messages.message.BidibMessageInterface message)
      Publish the bidib message to all channels.
      Parameters:
      sequenceNumberProvider - the sequence number provider for the message
      message - the message content
    • publishBidibMessage

      protected void publishBidibMessage(String contextKey, org.bidib.jbidibc.messages.SequenceNumberProvider sequenceNumberProvider, byte[] message)
      Publish the bidib message to all channels.
      Parameters:
      sequenceNumberProvider - the sequence number provider for the message
      message - the message content
    • logTX

      protected void logTX(org.bidib.jbidibc.messages.message.BidibMessageInterface bidibCommand, byte[] content)
    • setConnectionListener

      public void setConnectionListener(org.bidib.jbidibc.messages.ConnectionListener connectionListener)