Class XNetNetworkPortController

All Implemented Interfaces:
XNetPortController, NetworkPortAdapter, PortAdapter
Direct Known Subclasses:
LIUSBEthernetAdapter, LIUSBServerAdapter, XnTcpAdapter

Abstract base for classes representing an XNet communications port.
  • Constructor Details

  • Method Details

    • status

      public abstract boolean status()
      Check that this object is ready to operate. This is a question of configuration, not transient hardware status.
      Specified by:
      status in interface NetworkPortAdapter
      Specified by:
      status in interface PortAdapter
      Specified by:
      status in interface XNetPortController
      Overrides:
      status in class AbstractPortController
      Returns:
      true if OK, at least as far as known
    • okToSend

      Can the port accept additional characters? This might go false for short intervals, but it might also stick off if something goes wrong.
      Specified by:
      okToSend in interface XNetPortController
      Returns:
      true if OK to send, else false.
    • hasTimeSlot

      public boolean hasTimeSlot()
      Indicate whether the command station is currently providing a timeslot to this port controller.
      Specified by:
      hasTimeSlot in interface XNetPortController
      Returns:
      true if the command station is currently providing a timeslot.
    • setTimeSlot

      public void setTimeSlot(boolean timeslot)
      Set a variable indicating whether or not the command station is providing a timeslot.

      This method should be called with the paramter set to false if a "Command Station No Longer Providing a timeslot for communications" (01 05 04) is received.

      This method should be called with the parameter set to true if a "Command Station is providing a timeslot for communications again." (01 07 06) is received.

      Specified by:
      setTimeSlot in interface XNetPortController
      Parameters:
      timeslot - true if a timeslot is being sent, false otherwise.
    • setOutputBufferEmpty

      public void setOutputBufferEmpty(boolean s)
      We need a way to say if the output buffer is empty or not.
      Specified by:
      setOutputBufferEmpty in interface XNetPortController
      Parameters:
      s - true to set buffer empty, else false.
    • getSystemConnectionMemo

      Description copied from class: AbstractPortController
      Get the SystemConnectionMemo associated with this object.

      This method should only be overridden to ensure that a specific subclass of SystemConnectionMemo is returned. The recommended pattern is: public MySystemConnectionMemo getSystemConnectionMemo() { return (MySystemConnectionMemo) super.getSystemConnectionMemo(); }

      Specified by:
      getSystemConnectionMemo in interface PortAdapter
      Overrides:
      getSystemConnectionMemo in class AbstractPortController
      Returns:
      the currently associated SystemConnectionMemo
    • dispose

      public void dispose()
      Description copied from class: AbstractPortController
      Clean up before removal. Overriding methods must call super.dispose() or document why they are not calling the overridden implementation. In most cases, failure to call the overridden implementation will cause user-visible error.
      Specified by:
      dispose in interface PortAdapter
      Overrides:
      dispose in class AbstractPortController
    • resetupConnection

      protected void resetupConnection()
      Customizable method to deal with resetting a system connection after a successful recovery of a connection.
      Overrides:
      resetupConnection in class AbstractNetworkPortController