Patent ID: 8144585

Claim:
A method, comprising: receiving a first packet at a physical communication link; determining, based upon first header information of the first packet, that the first packet is associated with a first virtual channel of a plurality of virtual channels associated with the physical communication link; storing information associated with the first packet at a first storage location of a memory; storing a first pointer at a first FIFO associated with the first virtual channel in response to determining information of the first packet meets a first criteria, wherein the first pointer is based upon the first storage location; and storing the first pointer at a second FIFO associated with the first virtual channel in response to determining the information of the first packet meets a second criteria; determining an amount of available space associated with the first FIFO and the second FIFO, wherein determining the amount of available space associated with the first FIFO and the second FIFO comprises: determining a first amount of available space associated with the first FIFO; determining a second amount of available space associated with the second FIFO; determining a minimum of the first amount of available space and the second amount of available space; and determining the amount of available space associated with the first FIFO and the second FIFO based on the minimum of the first amount of available space associated with the first FIFO and the second amount of available space associated with second FIFO; and sending an availability indicator associated with the first virtual channel based on the amount of available space associated with the first FIFO and the second FIFO.