Patent ID: 7788391

Claim:
A method comprising: performing packet processing on a packet, and placing the packet in a placement queue; if no read buffer is available, then determining if the size of the placement queue exceeds a threshold polling value; if a read buffer is available, then scheduling the packet for placement and moving the packet from the placement queue to a scheduled queue; if the size of the placement queue exceeds the threshold polling value: then if there are one or more pending DMM (data movement module) requests for data associated with an application, polling a DMM to determine if the DMM has completed the one or more pending DMM requests; and then if the DMM has completed the one or more pending DMM requests, then sending a completion notification to the application to receive the data; and if the size of the placement queue does not exceed the threshold polling value, then if there are one or more packets to process, performing protocol processing on the one or more packets and placing the one or more packets in a placement queue.