prophet::HelloTLV::HelloTLV::HelloTLVHeader Struct Reference

Hello TLV header
p. More...

#include <HelloTLV.h>

List of all members.

Public Attributes

u_int8_t type
 defined as 0x01
u_int8_t unused__:5
u_int8_t HF:3
 Specifies the function of the Hello TLV.
u_int16_t length
 Length of the TLV in octets, including the TLV header and any nested TLVs.
u_int8_t timer
 The Timer field is used to inform the receiver of the timer value used in the Hello processing of the sender.
u_int8_t name_length
 The Name Length field is used to specify the length of the Sender Name field in octets.
u_char sender_name [0]
 The Sender Name field specifies the routable DTN name of the sender that is to be used in updating routing information and making forwarding decisions.


Detailed Description

Hello TLV header
p.

25, 4.4.1

The Hello TLV is used to set up and maintain a link between two PRoPHET nodes. Hello messages with the SYN function are transmitted periodically as beacons. The Hello TLV is the first TLV exchanged between two PRoPHET nodes when they encounter each other. No other TLVs can be exchanged until the first Hello sequenece is completed.

Once a communication link is established between two PRoPHET nodes, the Hello TLV will be sent once for each interval as defined in the interval timer. If a node experiences the lapse of HELLO_DEAD Hello intervals without receiving a Hello TLV on an ESTAB connection (as defined in the state machine in Section 5.2), the connection SHOULD be assumed broken.

Definition at line 46 of file HelloTLV.h.


Member Data Documentation

u_int8_t prophet::HelloTLV::HelloTLV::HelloTLVHeader::HF

Specifies the function of the Hello TLV.

Four functions are specified for the Hello TLV:
SYN: HF = 1
SYNACK: HF = 2
ACK: HF = 3
RSTACK: HF = 4.

Definition at line 58 of file HelloTLV.h.

Referenced by prophet::HelloTLV::deserialize(), and prophet::HelloTLV::serialize().

u_int16_t prophet::HelloTLV::HelloTLV::HelloTLVHeader::length

Length of the TLV in octets, including the TLV header and any nested TLVs.

Definition at line 63 of file HelloTLV.h.

Referenced by prophet::HelloTLV::deserialize(), and prophet::HelloTLV::serialize().

u_int8_t prophet::HelloTLV::HelloTLV::HelloTLVHeader::name_length

The Name Length field is used to specify the length of the Sender Name field in octets.

If the name has already been sent at least once in a message with the current Sender Instance, a node MAY choose to set this field to zero, omitting the Sender Name from the Hello TLV.

Definition at line 79 of file HelloTLV.h.

Referenced by prophet::HelloTLV::deserialize(), and prophet::HelloTLV::serialize().

u_char prophet::HelloTLV::HelloTLV::HelloTLVHeader::sender_name[0]

The Sender Name field specifies the routable DTN name of the sender that is to be used in updating routing information and making forwarding decisions.

Definition at line 85 of file HelloTLV.h.

Referenced by prophet::HelloTLV::deserialize(), and prophet::HelloTLV::serialize().

u_int8_t prophet::HelloTLV::HelloTLV::HelloTLVHeader::timer

The Timer field is used to inform the receiver of the timer value used in the Hello processing of the sender.

The timer specifies the nominal time between periodic Hello messages. It is a constant for the duration of a session. The timer field is specified in units of 100ms.

Definition at line 71 of file HelloTLV.h.

Referenced by prophet::HelloTLV::deserialize(), and prophet::HelloTLV::serialize().

u_int8_t prophet::HelloTLV::HelloTLV::HelloTLVHeader::type

defined as 0x01

Definition at line 47 of file HelloTLV.h.

Referenced by prophet::HelloTLV::deserialize(), and prophet::HelloTLV::serialize().

u_int8_t prophet::HelloTLV::HelloTLV::HelloTLVHeader::unused__

Definition at line 48 of file HelloTLV.h.


The documentation for this struct was generated from the following file:

Generated on Fri Jan 30 09:27:06 2009 for DTN Reference Implementation by  doxygen 1.5.8