Package jmri.jmrix.bidib.tcpserver
Class ServerMessageReceiver
- java.lang.Object
-
- jmri.jmrix.bidib.tcpserver.ServerMessageReceiver
-
- All Implemented Interfaces:
ServerBidibMessageProcessor,org.bidib.jbidibc.core.BidibMessageProcessor,org.bidib.jbidibc.messages.MessageProcessor,org.bidib.jbidibc.messages.MessageReceiver
public abstract class ServerMessageReceiver extends java.lang.Object implements ServerBidibMessageProcessor, org.bidib.jbidibc.messages.MessageReceiver
This is the server message receiver. Message from the network client will be received and then forwarded to the JMRI BiDiB connection via the traffic controler.
-
-
Constructor Summary
Constructors Constructor Description ServerMessageReceiver(BiDiBTrafficController tc)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddMessageListener(org.bidib.jbidibc.core.MessageListener messageListener)voidaddNodeListener(org.bidib.jbidibc.core.NodeListener nodeListener)voidcleanup()voiddisable()voidenable()java.lang.StringgetErrorInformation()voidprocessMessages(java.io.ByteArrayOutputStream output)abstract voidpublishResponse(java.io.ByteArrayOutputStream output)Publish the response in the provided byte array output stream.voidreceive(java.io.ByteArrayOutputStream output)Process data received from network.voidremoveMessageListener(org.bidib.jbidibc.core.MessageListener messageListener)
-
-
-
Constructor Detail
-
ServerMessageReceiver
public ServerMessageReceiver(BiDiBTrafficController tc)
-
-
Method Detail
-
enable
public void enable()
- Specified by:
enablein interfaceServerBidibMessageProcessor
-
disable
public void disable()
- Specified by:
disablein interfaceServerBidibMessageProcessor
-
receive
public void receive(java.io.ByteArrayOutputStream output)
Process data received from network. Forward to BiDiB connection Currently we split possible multi-message packets into a sequence of single messages. TODO: forward multi-message packets, this would require that the BiDiB traffic controller supports this- Specified by:
receivein interfaceorg.bidib.jbidibc.messages.MessageReceiver- Parameters:
output- data received
-
publishResponse
public abstract void publishResponse(java.io.ByteArrayOutputStream output) throws org.bidib.jbidibc.messages.exception.ProtocolException
Description copied from interface:ServerBidibMessageProcessorPublish the response in the provided byte array output stream.- Specified by:
publishResponsein interfaceServerBidibMessageProcessor- Parameters:
output- the output stream that contains the responses- Throws:
org.bidib.jbidibc.messages.exception.ProtocolException- when can't provide sequence
-
processMessages
public void processMessages(java.io.ByteArrayOutputStream output) throws org.bidib.jbidibc.messages.exception.ProtocolException
- Specified by:
processMessagesin interfaceorg.bidib.jbidibc.messages.MessageProcessor- Throws:
org.bidib.jbidibc.messages.exception.ProtocolException
-
getErrorInformation
public java.lang.String getErrorInformation()
- Specified by:
getErrorInformationin interfaceorg.bidib.jbidibc.core.BidibMessageProcessor
-
addMessageListener
public void addMessageListener(org.bidib.jbidibc.core.MessageListener messageListener)
- Specified by:
addMessageListenerin interfaceorg.bidib.jbidibc.core.BidibMessageProcessor
-
removeMessageListener
public void removeMessageListener(org.bidib.jbidibc.core.MessageListener messageListener)
- Specified by:
removeMessageListenerin interfaceorg.bidib.jbidibc.core.BidibMessageProcessor
-
addNodeListener
public void addNodeListener(org.bidib.jbidibc.core.NodeListener nodeListener)
- Specified by:
addNodeListenerin interfaceorg.bidib.jbidibc.core.BidibMessageProcessor
-
cleanup
public void cleanup()
- Specified by:
cleanupin interfaceorg.bidib.jbidibc.messages.MessageReceiver
-
-