Package jmri.jmrix.lenz.liusbethernet
Class LIUSBEthernetXNetPacketizer
java.lang.Object
jmri.jmrix.AbstractMRTrafficController
jmri.jmrix.lenz.XNetTrafficController
jmri.jmrix.lenz.XNetPacketizer
jmri.jmrix.lenz.liusb.LIUSBXNetPacketizer
jmri.jmrix.lenz.liusbethernet.LIUSBEthernetXNetPacketizer
- All Implemented Interfaces:
XNetInterface
This is an extension of the XNetPacketizer to handle the device specific
requirements of the LIUSBEthernet.
In particular, LIUSBEthernetXNetPacketizer counts the number of commands received.
-
Nested Class Summary
Nested classes/interfaces inherited from class jmri.jmrix.AbstractMRTrafficController
AbstractMRTrafficController.RcvNotifier, AbstractMRTrafficController.XmtNotifier -
Field Summary
Fields inherited from class jmri.jmrix.lenz.XNetTrafficController
mListenerMasksFields inherited from class jmri.jmrix.AbstractMRTrafficController
allowUnexpectedReply, AUTORETRYSTATE, cmdListeners, connectionError, controller, flushReceiveChars, IDLESTATE, istream, listenerQueue, maxRcvExceptionCount, mCurrentMode, mCurrentState, mLastSender, msgQueue, mWaitBeforePoll, NORMALMODE, NOTIFIEDSTATE, OKSENDMSGSTATE, ostream, POLLSTATE, PROGRAMINGMODE, rcvException, rcvThread, replyInDispatch, threadStopRequest, timeoutFlag, timeouts, WAITMSGREPLYSTATE, WAITREPLYINNORMMODESTATE, WAITREPLYINPROGMODESTATE, waitTimePoll, xmtException, xmtRunnable, xmtThreadFields inherited from interface jmri.jmrix.lenz.XNetInterface
ALL, COMMINFO, CONSIST, CS_INFO, FEEDBACK, INTERFACE, PROGRAMMING, THROTTLE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected intaddHeaderToOutput(byte[] msg, AbstractMRMessage m) Add header to the outgoing byte stream.protected intDetermine how much many bytes the entire message will take, including space for header and trailer.protected voidloadChars(AbstractMRReply msg, DataInputStream istream) Get characters from the input source, and file a message.Methods inherited from class jmri.jmrix.lenz.XNetPacketizer
addTrailerToOutput, portReadyToSend, sendXNetMessageMethods inherited from class jmri.jmrix.lenz.XNetTrafficController
addXNetListener, connectPort, endOfMessage, enterNormalMode, enterProgMode, forwardMessage, forwardReply, getCommandStation, getFeedbackMessageCache, getSystemConnectionMemo, handleTimeout, newReply, notifyMessage, pollMessage, pollReplyHandler, programmerIdle, removeXNetListener, sendHighPriorityXNetMessage, setSystemConnectionMemoMethods inherited from class jmri.jmrix.AbstractMRTrafficController
addConsoleListener, addListener, canReceive, connectionWarn, disconnectPort, distributeReply, enterProgModeDelayTime, forwardToPort, getLastSender, getPortName, getSynchronizeRx, handleOneIncomingReply, hasTimeouts, newRcvNotifier, notifyReply, portWarn, portWarnTCP, readByteProtected, receiveLoop, recovery, removeListener, reportReceiveLoopException, resetTimeout, sendMessage, setAllowUnexpectedReply, setSynchronizeRx, status, terminate, terminateThreads, transmitLoop, transmitWait, unexpectedReplyStateError, waitForStartOfReply, warnOnTimeoutMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface jmri.jmrix.lenz.XNetInterface
status
-
Constructor Details
-
LIUSBEthernetXNetPacketizer
-
-
Method Details
-
lengthOfByteStream
Determine how much many bytes the entire message will take, including space for header and trailer.- Overrides:
lengthOfByteStreamin classLIUSBXNetPacketizer- Parameters:
m- the message to be sent- Returns:
- number of bytes
-
addHeaderToOutput
Add header to the outgoing byte stream.- Overrides:
addHeaderToOutputin classLIUSBXNetPacketizer- Parameters:
msg- the output byte streamm- Message results- Returns:
- next location in the stream to fill
-
loadChars
Get characters from the input source, and file a message.Returns only when the message is complete.
Only used in the Receive thread.
- Overrides:
loadCharsin classLIUSBXNetPacketizer- Parameters:
msg- message to fillistream- character source.- Throws:
IOException- when presented by the input source.
-