Two independent pointers within a message descriptor are used to link the message descriptor to various queues during transmission of a message from a sender node to a receiver node within a computer environment. In particular, one pointer is used to link the message descriptor on either a pending send queue or a send queue, while the other pointer is used to link the message descriptor on either an unacknowledged queue or an acknowledged queue. For example, when a message is sent, it is removed from the send queue using one pointer and placed on the unacknowledged queue using the other pointer. Further, if the message is resent, it is linked back onto the send queue using the send queue pointer without disturbing the order of the message on the unacknowledged queue. Thus, ordering of message transmission is preserved, even when a message is sent multiple times.
CROSS REFERENCE TO RELATED APPLICATION
This application contains subject matter which is related to the subject matter of the following application, which is assigned to the same assignee as this application and filed on the same day as this application. The below listed application is hereby incorporated herein by reference in its entirety:
"METHOD OF INDEPENDENT SIMULTANEOUS QUEUEING OF MESSAGE DESCRIPTORS," by Alan F. Benner, Ser. No. 08/884,974 (Docket No. PO9-96-115).
An apparatus and method of requesting retransmission of at least a portion of a message (having a plurality of message segments) from a sender utilizes message units in a memory device for storing data relating to retransmit messages. In particular, each message unit in the memory has data for one message segment. To that end, a retransmit message requesting retransmission of a set of message segments to a given receiver is received from the given receiver. The given retransmit message then is parsed to determine both the identity of the given receiver, and the identity of the set of message segments requested by the given receiver. A message unit then is produced in the memory for each of the set of message segments that does not have an existing message unit in memory. Data representing the identity of the given receiver then is added to all message units for the set of message segments.
Methods, apparatus and systems for controlling flow of data between a memory of a host computer system and a data communications interface for communicating data between the host computer system and a data communications network. In an example embodiment, an apparatus includes a descriptor table for storing a plurality of descriptors for access by the host computer system and data communications interface. Descriptor logic generates the descriptors for storage in the descriptor table. The descriptors include a branch descriptor comprising a link to another descriptor in the table.