next up previous contents index
Next: 29.3.0.0.2 Request Packets Up: 29.3 Packet Handling: Processing Previous: 29.3 Packet Handling: Processing

29.3.0.0.1 Data Packets

The agent does not generate any data messages. The user has to specify an external agent to generate traffic. The []recv method must distinguish between locally originated data that must be sent to the multicast group, and data received from multicast group that must be processed. Therefore, the application agent must set the packet's destination address to zero.

For locally originated data, the agent adds the appropriate SRM headers, sets the destination address to the multicast group, and forwards the packet to its target.

On receiving a data message from the group, [sender, msgid]recv_data../ns-2/srm.ccSRMAgent::recv_data will update its state marking message sender, msgid received, and possibly trigger requests if it detects losses. In addition, if the message was an older message received out of order, then there must be a pending request or repair that must be cleared. In that case, the compiled object invokes the OTcl instance procedure, [sender, msgid]recv-data ../ns-2/srm.tclAgent/SRM::recv-data 29.2.

Currently, there is no provision for the receivers to actually receive any application data. The agent does not also store any of the user data. It only generates repair messages of the appropriate size, defined by the instance variable packetSize_. However, the agent assumes that any application data is placed in the data portion of the packet, pointed to by packet-accessdata().


next up previous contents index
Next: 29.3.0.0.2 Request Packets Up: 29.3 Packet Handling: Processing Previous: 29.3 Packet Handling: Processing

2000-08-24