dtn::Prophet::HelloTLVHeader Struct Reference

#include <Prophet.h>

List of all members.


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 247 of file Prophet.h.


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.

Member Data Documentation

u_int8_t dtn::Prophet::HelloTLVHeader::type

defined as 0x01

Definition at line 248 of file Prophet.h.

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

u_int8_t dtn::Prophet::HelloTLVHeader::unused__

Definition at line 249 of file Prophet.h.

u_int8_t dtn::Prophet::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 259 of file Prophet.h.

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

u_int16_t dtn::Prophet::HelloTLVHeader::length

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

Definition at line 264 of file Prophet.h.

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

u_int8_t dtn::Prophet::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 272 of file Prophet.h.

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

u_int8_t dtn::Prophet::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 280 of file Prophet.h.

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

u_char dtn::Prophet::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 286 of file Prophet.h.

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


The documentation for this struct was generated from the following file:
Generated on Sat Sep 8 08:36:22 2007 for DTN Reference Implementation by  doxygen 1.5.3