---
title: IOUserNetworkRxCompletionQueue
framework: networkingdriverkit
role: symbol
role_heading: Class
path: networkingdriverkit/iousernetworkrxcompletionqueue
---

# IOUserNetworkRxCompletionQueue

The queue you use to store packets that you successfully transferred to the networking stack.

## Declaration

```occ
class IOUserNetworkRxCompletionQueue;
```

## Overview

Overview Create an IOUserNetworkRxCompletionQueue object and use it to deliver packets from your hardware device to the networking stack. As data arrives from your hardware, place the data into empty packets that you dequeued from an IOUserNetworkRxSubmissionQueue object. Deliver the resulting packets to the system by enqueueing them on your IOUserNetworkRxCompletionQueue object. After you enqueue the packets, the system transfers the packet data to the networking stack, recycles the packets, and places the packets back in your submission queue.

## Topics

### Creating the Completion Queue

- [Create](networkingdriverkit/iousernetworkrxcompletionqueue/create.md)
- [init](networkingdriverkit/iousernetworkrxcompletionqueue/init.md)
- [free](networkingdriverkit/iousernetworkrxcompletionqueue/free.md)

### Instance Methods

- [initWithPool](networkingdriverkit/iousernetworkrxcompletionqueue/initwithpool.md)
- [setPacketPoller](networkingdriverkit/iousernetworkrxcompletionqueue/setpacketpoller.md)

### Type Methods

- [withPool](networkingdriverkit/iousernetworkrxcompletionqueue/withpool.md)

## Relationships

### Inherits From

- [IOUserNetworkPacketQueue](networkingdriverkit/iousernetworkpacketqueue.md)

## See Also

### Packet Queues

- [IOUserNetworkRxSubmissionQueue](networkingdriverkit/iousernetworkrxsubmissionqueue.md)
- [IOUserNetworkTxSubmissionQueue](networkingdriverkit/iousernetworktxsubmissionqueue.md)
- [IOUserNetworkTxCompletionQueue](networkingdriverkit/iousernetworktxcompletionqueue.md)
- [IOUserNetworkPacketQueue](networkingdriverkit/iousernetworkpacketqueue.md)
