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 Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionAbstractNetBidibServerHandler(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 -
Method Summary
Modifier and TypeMethodDescriptionvoidaddRemoteConnectionListener(org.bidib.jbidibc.messages.ConnectionListener remoteConnectionListener) voidchannelRegistered(String contextKey, io.netty.channel.ChannelHandlerContext ctx) voidcleanupHandlerContext(String contextKey) getPairingStateHandler(Long uniqueId) protected booleanvoidprotected voidlogTX(org.bidib.jbidibc.messages.message.BidibMessageInterface bidibCommand, byte[] content) voidprocessMessages(ByteArrayOutputStream messageData, String contextKey) protected voidpublishBidibMessage(String contextKey, org.bidib.jbidibc.messages.SequenceNumberProvider sequenceNumberProvider, byte[] message) Publish the bidib message to all channels.protected voidpublishBidibMessage(String contextKey, org.bidib.jbidibc.messages.SequenceNumberProvider sequenceNumberProvider, org.bidib.jbidibc.messages.message.BidibMessageInterface message) Publish the bidib message to all channels.voidremoveRemoteConnectionListener(org.bidib.jbidibc.messages.ConnectionListener remoteConnectionListener) voidsetConnectionListener(org.bidib.jbidibc.messages.ConnectionListener connectionListener) voidsetNetMessageReceiver(ServerNetMessageReceiver netMessageReceiver) voidsetPairingStore(PairingStore pairingStore) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.bidib.jbidibc.messages.BidibMessagePublisher
publishBidibMessage, publishBidibMessage
-
Field Details
-
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 adapterconnectionId- the connection name
-
-
Method Details
-
setNetMessageReceiver
-
initialize
public void initialize() -
getPairingStateHandler
-
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
-
processMessages
public void processMessages(ByteArrayOutputStream messageData, String contextKey) throws org.bidib.jbidibc.messages.exception.ProtocolException - Throws:
org.bidib.jbidibc.messages.exception.ProtocolException
-
channelRegistered
-
cleanupHandlerContext
-
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 messagemessage- 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 messagemessage- 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)
-