Per the wiki on ROSUDP, the UDP Header starts out with Connection ID (8 bytes), Opcode (1 byte), Msg ID (1 byte), and Block Number(unspecified byte length).
What is the byte length of Block#? and what additional fields are missing from the documentation that are required by ROSUDP preceding the Connection Header and Message? I did a UDP trace using Wireshark, and I am not able to explain some of the bits. All help will be appreciated!
Thanks,
Aaron
Connection ID - This 32-bit value is determined during connection negotiation and is used to denote which connection the datagram is destined for. This parameter allows a single socket to service multiple UDPROS connections.
Opcode - UDPROS supports multiple datagram types. The opcode specifies the datagram type. This 8-bit field can have the following possible values:
DATA0 (0) - This opcode is sent in the first datagram of a ROS message
DATAN (1) - All subsequent datagrams of a ROS message use this opcode
PING (2) - A heartbeat packet is sent periodically to let the other side know that the connection is still alive
ERR (3) - An error packet is used to signal that a connection is closing unexpectedly
Message ID - This 8-bit value is incremented for each new message and is used to determine if datagrams have been dropped.
Block # - When the opcode is DATA0, this field contains the total number of UDPROS datagrams expected to complete the ROS message. When the opcode is DATAN, this field contains the current datagram number.
Originally posted by unknown_entity1 on ROS Answers with karma: 104 on 2013-04-16
Post score: 0