34#ifndef _OPENLCB_DATAGRAMDEFS_HXX_
35#define _OPENLCB_DATAGRAMDEFS_HXX_
Static constants and functions related to the Datagram protocol.
static bool resend_ok(uint16_t error)
We can try to resend the datagram.
Flag
Possible flags for a successful receipt (received okay) of a Datagram.
@ TIMEOUT_4096
4096 second timeout
@ TIMEOUT_1024
1024 second timeout
@ TIMEOUT_16384
16384 second timeout
@ TIMEOUT_32768
32768 second timeout
@ TIMEOUT_512
512 second timeout
@ TIMEOUT_2048
2048 second timeout
@ REPLY_PENDING
A reply is pending.
@ TIMEOUT_32
32 second timeout
@ TIMEOUT_4
4 second timeout
@ TIMEOUT_128
128 second timeout
@ TIMEOUT_2
2 second timeout
@ TIMEOUT_8
8 second timeout
@ TIMEOUT_MASK
Mask for reply timeout.
@ TIMEOUT_256
256 second timeout
@ TIMEOUT_64
64 second timeout
@ TIMEOUT_16
16 second timeout
@ TIMEOUT_8192
8192 second timeout
static bool buffer_unavailable(uint16_t error)
Buffer unavailable error occurred.
@ MAX_SIZE
maximum size in bytes of a datagram
DatagramDefs()
Do not instantiate this class, ever.
static unsigned int protocol_size(uint64_t protocol)
Determine if the protocol ID is represented by one, two, or six bytes.
Error
Possible error codes for a rejected datagram.
@ INVALID_ARGUMENTS
NON_STANDARD Invalid or unparseable arguments.
@ TRANSPORT_ERROR
Transport error occurred.
@ UNIMPLEMENTED
NON_STANDARD The feature or command requested is not implemented by the target node.
@ OUT_OF_ORDER
Out of order error occurred.
@ BUFFER_UNAVAILABLE
Buffer unavailable error occurred.
@ RESEND_OK
We can try to resend the datagram.
@ PERMANENT_ERROR
Permanent error occurred.
@ NOT_ACCEPTED
Destination node does not accept datagrams of any kind.
@ SRC_NOT_PERMITTED
Source not permitted error occurred.
@ PROTOCOL_SIZE_6
possible return value for protocol_size
@ PROTOCOL_SIZE_2
possible return value for protocol_size
@ PROTOCOL_SIZE_MASK
mask used when determining protocol size
static bool transport_error(uint16_t error)
Transport error occurred.
Protocol
All known datagram protocols.
@ LOG_REPLY
reply to a LOG_REQUEST
@ LOG_REQUEST
request a placement into the log
@ TRAIN_CONTROL
operation of mobile nodes
@ REMOTE_BUTTON
remote button input
@ CONFIGURATION
configuration message
@ DISPLAY_PROTOCOL
place on display