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 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.
  • Field Details

  • Constructor Details

  • Method Details

    • enable

      public void enable()
      Specified by:
      enable in interface ServerBidibMessageProcessor
    • disable

      public void disable()
      Specified by:
      disable in interface ServerBidibMessageProcessor
    • receive

      public void receive(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:
      receive in interface org.bidib.jbidibc.messages.MessageReceiver
      Parameters:
      output - data received
    • publishResponse

      public abstract void publishResponse(ByteArrayOutputStream output) throws org.bidib.jbidibc.messages.exception.ProtocolException
      Description copied from interface: ServerBidibMessageProcessor
      Publish the response in the provided byte array output stream.
      Specified by:
      publishResponse in interface ServerBidibMessageProcessor
      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(ByteArrayOutputStream output) throws org.bidib.jbidibc.messages.exception.ProtocolException
      Specified by:
      processMessages in interface org.bidib.jbidibc.messages.MessageProcessor
      Throws:
      org.bidib.jbidibc.messages.exception.ProtocolException
    • getErrorInformation

      Specified by:
      getErrorInformation in interface org.bidib.jbidibc.core.BidibMessageProcessor
    • addMessageListener

      public void addMessageListener(org.bidib.jbidibc.core.MessageListener messageListener)
      Specified by:
      addMessageListener in interface org.bidib.jbidibc.core.BidibMessageProcessor
    • removeMessageListener

      public void removeMessageListener(org.bidib.jbidibc.core.MessageListener messageListener)
      Specified by:
      removeMessageListener in interface org.bidib.jbidibc.core.BidibMessageProcessor
    • addNodeListener

      public void addNodeListener(org.bidib.jbidibc.core.NodeListener nodeListener)
      Specified by:
      addNodeListener in interface org.bidib.jbidibc.core.BidibMessageProcessor
    • cleanup

      public void cleanup()
      Specified by:
      cleanup in interface org.bidib.jbidibc.messages.MessageReceiver