Patent ID: 7694061

Claim:
A device for communicating over a communication medium, the device comprising: a medium attachment unit (MAU) for receiving and transmitting messages on the communication medium; a central processing unit (CPU) for processing data contained in messages received and creating data to be contained in messages to be transmitted; a communication controller for interfacing between the MAU and the CPU, the communication controller including a data queue and a queue of received message objects, the data queue for storing a plurality of messages received on the communication medium, each received message object corresponding to a message stored in the data queue, wherein read/write operations to the data queue are maintained by a write pointer, a read pointer, and a current position pointer; wherein before receipt of a message on the communication medium, a first received message object is activated to permit the message to be stored in the data queue, wherein upon message object activation an initial position of the write pointer is stored to the current position pointer, wherein the write pointer is incremented as data is written to the data queue; wherein the device determines, before the receipt of the message is complete, whether the message is to be discarded from the data queue and if the message is to be discarded, the first received message object is deactivated to prevent the message from being further stored in the data queue; and wherein the data queue write pointer is restored to the initial position stored by the current position pointer is the message if to be discarded.