0
$\begingroup$

Rosanswers logo

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

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

If it's not documented the best approach will be to introspect what roscpp is doing in it's implementation.


Originally posted by tfoote with karma: 58457 on 2013-04-17

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by unknown_entity1 on 2013-04-17:
@tfoote your right, that may be the only option if somebody is not familiar with it. I'm certain somebody on this answers forum knows the answer.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.