---
title: EnqueueWithCoalesce
framework: kernel
role: symbol
role_heading: Instance Method
path: kernel/iodataqueuedispatchsource/3438181-enqueuewithcoalesce
---

# EnqueueWithCoalesce

Adds an entry to the queue, but doesn't automatically send a data-available notification.

## Declaration

```occ
kern_return_t EnqueueWithCoalesce(uint32_t dataSize, bool *sendDataAvailable, IODataQueueClientEnqueueEntryBlock callback);
```

## Parameters

- `dataSize`: The size of the data to enqueue.
- `sendDataAvailable`: A Boolean value that indicates that this method would have sent a notification. Initialize the value to false, and then make one or more calls to this method. If the value is true after all of those calls, call the doc://com.apple.documentation/documentation/kernel/iodataqueuedispatchsource/3438184-senddataavailable method yourself to deliver the notification.
- `callback`: The callback to execute when there is enough space to enqueue the data.

## Return Value

Return Value kIOReturnSuccess on success, kIOReturnOverrun if the queue was full, or kIOReturnError if the queue is corrupt. See Error Codes.

## See Also

### Adding Work to the Queue

- [SetDataServicedHandler](driverkit/iodataqueuedispatchsource/setdataservicedhandler.md)
- [DataServiced](driverkit/iodataqueuedispatchsource/dataserviced.md)
- [IODataQueueClientEnqueueEntryBlock](driverkit/iodataqueueclientenqueueentryblock.md)
- [Enqueue](kernel/iodataqueuedispatchsource/3438180-enqueue.md)
- [SendDataAvailable](kernel/iodataqueuedispatchsource/3438184-senddataavailable.md)
