# SpeechQueue

<a id="speechqueue"></a>

# SpeechQueue

```cpp
#include <icy/speech/speechqueue.h>

class SpeechQueue
```

[Defined in src/speech/include/icy/speech/speechqueue.h:28](https://github.com/auscaster/icey/blob/main/src/speech/include/icy/speech/speechqueue.h#L28)

> **Inherits:** [`PlanarAudioPacket >`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#asyncpacketqueue)

Async queue for decoded audio packets.

This is the explicit clone boundary for speech processing. Upstream stages can stay borrowed/zero-copy until a packet enters this queue.

## List of all members

| Name | Kind | Owner |
|------|------|-------|
| [`SpeechQueue`](#speechqueue-1) | `function` | Declared here |
| [`emitter`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#emitter) | `variable` | Inherited from [`AsyncPacketQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#asyncpacketqueue) |
| [`AsyncPacketQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#asyncpacketqueue-1) | `function` | Inherited from [`AsyncPacketQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#asyncpacketqueue) |
| [`~AsyncPacketQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#asyncpacketqueue-2) | `function` | Inherited from [`AsyncPacketQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#asyncpacketqueue) |
| [`close`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#close) | `function` | Inherited from [`AsyncPacketQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#asyncpacketqueue) |
| [`process`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#process) | `function` | Inherited from [`AsyncPacketQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#asyncpacketqueue) |
| [`accepts`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#accepts) | `function` | Inherited from [`AsyncPacketQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#asyncpacketqueue) |
| [`retention`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#retention) | `function` | Inherited from [`AsyncPacketQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#asyncpacketqueue) |
| [`dispatch`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#dispatch) | `function` | Inherited from [`AsyncPacketQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#asyncpacketqueue) |
| [`onStreamStateChange`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#onstreamstatechange) | `function` | Inherited from [`AsyncPacketQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#asyncpacketqueue) |
| [`Queue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#queue) | `typedef` | Inherited from [`AsyncPacketQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#asyncpacketqueue) |
| [`Processor`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#processor) | `typedef` | Inherited from [`AsyncPacketQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#asyncpacketqueue) |
| [`AsyncQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncQueue.md#asyncqueue-1) | `function` | Inherited from [`AsyncQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncQueue.md#asyncqueue) |
| [`cancel`](https://auscaster.com/icey/docs/api-reference/icy-AsyncQueue.md#cancel) | `function` | Inherited from [`AsyncQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncQueue.md#asyncqueue) |
| [`_thread`](https://auscaster.com/icey/docs/api-reference/icy-AsyncQueue.md#_thread-2) | `variable` | Inherited from [`AsyncQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncQueue.md#asyncqueue) |
| [`~AsyncQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncQueue.md#asyncqueue-2) | `function` | Inherited from [`AsyncQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncQueue.md#asyncqueue) |
| [`Queue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncQueue.md#queue-1) | `typedef` | Inherited from [`AsyncQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncQueue.md#asyncqueue) |
| [`ondispatch`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#ondispatch) | `variable` | Inherited from [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue) |
| [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue-1) | `function` | Inherited from [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue) |
| [`~RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue-2) | `function` | Inherited from [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue) |
| [`push`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#push-2) | `function` | Inherited from [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue) |
| [`flush`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#flush-1) | `function` | Inherited from [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue) |
| [`clear`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#clear-4) | `function` | Inherited from [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue) |
| [`run`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#run-4) | `function` | Inherited from [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue) |
| [`runTimeout`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runtimeout) | `function` | Inherited from [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue) |
| [`dispatch`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#dispatch-1) | `function` | Inherited from [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue) |
| [`timeout`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#timeout) | `function` | Inherited from [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue) |
| [`setTimeout`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#settimeout) | `function` | Inherited from [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue) |
| [`dropped`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#dropped) | `function` | Inherited from [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue) |
| [`_limit`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#_limit-2) | `variable` | Inherited from [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue) |
| [`_timeout`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#_timeout) | `variable` | Inherited from [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue) |
| [`_dropped`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#_dropped) | `variable` | Inherited from [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue) |
| [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue-3) | `function` | Inherited from [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue) |
| [`operator=`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#operator-79) | `function` | Inherited from [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue) |
| [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue-4) | `function` | Inherited from [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue) |
| [`operator=`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#operator-80) | `function` | Inherited from [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue) |
| [`popNext`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#popnext) | `function` | Inherited from [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue) |
| [`dispatchNext`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#dispatchnext) | `function` | Inherited from [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue) |
| [`push`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#push) | `function` | Inherited from [`Queue`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#queue-2) |
| [`push`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#push-1) | `function` | Inherited from [`Queue`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#queue-2) |
| [`empty`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#empty-3) | `function` | Inherited from [`Queue`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#queue-2) |
| [`front`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#front) | `function` | Inherited from [`Queue`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#queue-2) |
| [`back`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#back) | `function` | Inherited from [`Queue`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#queue-2) |
| [`pop`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#pop) | `function` | Inherited from [`Queue`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#queue-2) |
| [`sort`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#sort) | `function` | Inherited from [`Queue`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#queue-2) |
| [`size`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#size-6) | `function` | Inherited from [`Queue`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#queue-2) |
| [`queue`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#queue-3) | `function` | Inherited from [`Queue`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#queue-2) |
| [`_queue`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#_queue) | `variable` | Inherited from [`Queue`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#queue-2) |
| [`_mutex`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#_mutex-4) | `variable` | Inherited from [`Queue`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#queue-2) |
| [`Runnable`](https://auscaster.com/icey/docs/api-reference/icy-basic-Runnable.md#runnable-1) | `function` | Inherited from [`Runnable`](https://auscaster.com/icey/docs/api-reference/icy-basic-Runnable.md#runnable) |
| [`~Runnable`](https://auscaster.com/icey/docs/api-reference/icy-basic-Runnable.md#runnable-2) | `function` | Inherited from [`Runnable`](https://auscaster.com/icey/docs/api-reference/icy-basic-Runnable.md#runnable) |
| [`run`](https://auscaster.com/icey/docs/api-reference/icy-basic-Runnable.md#run-11) | `function` | Inherited from [`Runnable`](https://auscaster.com/icey/docs/api-reference/icy-basic-Runnable.md#runnable) |
| [`cancel`](https://auscaster.com/icey/docs/api-reference/icy-basic-Runnable.md#cancel-7) | `function` | Inherited from [`Runnable`](https://auscaster.com/icey/docs/api-reference/icy-basic-Runnable.md#runnable) |
| [`cancelled`](https://auscaster.com/icey/docs/api-reference/icy-basic-Runnable.md#cancelled-3) | `function` | Inherited from [`Runnable`](https://auscaster.com/icey/docs/api-reference/icy-basic-Runnable.md#runnable) |
| [`exit`](https://auscaster.com/icey/docs/api-reference/icy-basic-Runnable.md#exit) | `variable` | Inherited from [`Runnable`](https://auscaster.com/icey/docs/api-reference/icy-basic-Runnable.md#runnable) |
| [`PacketProcessor`](https://auscaster.com/icey/docs/api-reference/icy-PacketProcessor.md#packetprocessor-1) | `function` | Inherited from [`PacketProcessor`](https://auscaster.com/icey/docs/api-reference/icy-PacketProcessor.md#packetprocessor) |
| [`process`](https://auscaster.com/icey/docs/api-reference/icy-PacketProcessor.md#process-1) | `function` | Inherited from [`PacketProcessor`](https://auscaster.com/icey/docs/api-reference/icy-PacketProcessor.md#packetprocessor) |
| [`accepts`](https://auscaster.com/icey/docs/api-reference/icy-PacketProcessor.md#accepts-1) | `function` | Inherited from [`PacketProcessor`](https://auscaster.com/icey/docs/api-reference/icy-PacketProcessor.md#packetprocessor) |
| [`operator<<`](https://auscaster.com/icey/docs/api-reference/icy-PacketProcessor.md#operator-69) | `function` | Inherited from [`PacketProcessor`](https://auscaster.com/icey/docs/api-reference/icy-PacketProcessor.md#packetprocessor) |
| [`PacketStreamAdapter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#packetstreamadapter-1) | `function` | Inherited from [`PacketStreamAdapter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#packetstreamadapter) |
| [`~PacketStreamAdapter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#packetstreamadapter-2) | `function` | Inherited from [`PacketStreamAdapter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#packetstreamadapter) |
| [`emit`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#emit-1) | `function` | Inherited from [`PacketStreamAdapter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#packetstreamadapter) |
| [`emit`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#emit-2) | `function` | Inherited from [`PacketStreamAdapter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#packetstreamadapter) |
| [`emit`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#emit-3) | `function` | Inherited from [`PacketStreamAdapter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#packetstreamadapter) |
| [`emit`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#emit-4) | `function` | Inherited from [`PacketStreamAdapter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#packetstreamadapter) |
| [`emit`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#emit-5) | `function` | Inherited from [`PacketStreamAdapter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#packetstreamadapter) |
| [`getEmitter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#getemitter) | `function` | Inherited from [`PacketStreamAdapter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#packetstreamadapter) |
| [`retention`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#retention-1) | `function` | Inherited from [`PacketStreamAdapter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#packetstreamadapter) |
| [`onStreamStateChange`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#onstreamstatechange-1) | `function` | Inherited from [`PacketStreamAdapter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#packetstreamadapter) |
| [`_emitter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#_emitter) | `variable` | Inherited from [`PacketStreamAdapter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#packetstreamadapter) |
| [`PacketStreamAdapter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#packetstreamadapter-3) | `function` | Inherited from [`PacketStreamAdapter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#packetstreamadapter) |
| [`operator=`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#operator-72) | `function` | Inherited from [`PacketStreamAdapter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#packetstreamadapter) |
| [`PacketStreamAdapter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#packetstreamadapter-4) | `function` | Inherited from [`PacketStreamAdapter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#packetstreamadapter) |
| [`operator=`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#operator-73) | `function` | Inherited from [`PacketStreamAdapter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#packetstreamadapter) |

## Inherited from [`AsyncPacketQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#asyncpacketqueue)

| Kind | Name | Description |
|------|------|-------------|
| `variable` | [`emitter`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#emitter)  |  |
| `function` | [`AsyncPacketQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#asyncpacketqueue-1) `inline` |  |
| `function` | [`~AsyncPacketQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#asyncpacketqueue-2) `virtual` `inline` |  |
| `function` | [`close`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#close) `virtual` `inline` | Flushes remaining packets, cancels the queue, and joins the dispatch thread. |
| `function` | [`process`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#process) `virtual` `inline` `override` | Clones the incoming packet and pushes it onto the async queue. This queue is therefore an explicit [PacketStream](https://auscaster.com/icey/docs/api-reference/icy-PacketStream.md#packetstream) ownership boundary. Drops the packet with a warning if the queue has been cancelled. |
| `function` | [`accepts`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#accepts) `virtual` `inline` `override` | Returns true if the packet can be cast to type `T`. |
| `function` | [`retention`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#retention) `virtual` `const` `inline` `override` | Returns how this adapter treats incoming packet lifetime. Most adapters are synchronous and therefore only borrow the packet for the current call chain. Queue-style adapters override this to advertise that they clone before deferred use. Callers may treat the first adapter reporting Cloned or Retained as the explicit ownership boundary in the stream graph. |
| `function` | [`dispatch`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#dispatch) `virtual` `inline` `override` | Emits the packet to downstream processors from the async thread. |
| `function` | [`onStreamStateChange`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#onstreamstatechange) `virtual` `inline` `override` | Closes the queue on [`Error`](https://auscaster.com/icey/docs/api-reference/icy-Error.md#error) or `Closed` stream state transitions. |
| `typedef` | [`Queue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#queue)  |  |
| `typedef` | [`Processor`](https://auscaster.com/icey/docs/api-reference/icy-AsyncPacketQueue.md#processor)  |  |

## Inherited from [`AsyncQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncQueue.md#asyncqueue)

| Kind | Name | Description |
|------|------|-------------|
| `function` | [`AsyncQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncQueue.md#asyncqueue-1) `inline` |  |
| `function` | [`cancel`](https://auscaster.com/icey/docs/api-reference/icy-AsyncQueue.md#cancel) `virtual` `inline` `override` | Cancels the queue and joins the dispatch thread. |
| `variable` | [`_thread`](https://auscaster.com/icey/docs/api-reference/icy-AsyncQueue.md#_thread-2)  |  |
| `function` | [`~AsyncQueue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncQueue.md#asyncqueue-2) `virtual` `inline` |  |
| `typedef` | [`Queue`](https://auscaster.com/icey/docs/api-reference/icy-AsyncQueue.md#queue-1)  |  |

## Inherited from [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue)

| Kind | Name | Description |
|------|------|-------------|
| `variable` | [`ondispatch`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#ondispatch)  | The default dispatch function. Must be set before the queue is running. |
| `function` | [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue-1) `inline` |  |
| `function` | [`~RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue-2) `virtual` `inline` |  |
| `function` | [`push`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#push-2) `virtual` `inline` | Push an item onto the queue. The queue takes ownership of the item pointer. |
| `function` | [`flush`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#flush-1) `virtual` `inline` | Flush all outgoing items. |
| `function` | [`clear`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#clear-4) `inline` |  |
| `function` | [`run`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#run-4) `virtual` `inline` `override` | Called asynchronously to dispatch queued items. If not timeout is set this method blocks until [cancel()](https://auscaster.com/icey/docs/api-reference/icy-basic-Runnable.md#cancel-7) is called, otherwise [runTimeout()](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runtimeout) will be called. |
| `function` | [`runTimeout`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runtimeout) `virtual` `inline` | Called asynchronously to dispatch queued items until the queue is empty or the timeout expires. Pseudo protected for std::bind compatability. |
| `function` | [`dispatch`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#dispatch-1) `virtual` `inline` | Dispatch a single item to listeners. |
| `function` | [`timeout`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#timeout) `inline` |  |
| `function` | [`setTimeout`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#settimeout) `inline` | Sets the dispatch timeout. Must only be called when the queue is empty. |
| `function` | [`dropped`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#dropped) `const` `inline` |  |
| `variable` | [`_limit`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#_limit-2)  |  |
| `variable` | [`_timeout`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#_timeout)  |  |
| `variable` | [`_dropped`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#_dropped)  |  |
| `function` | [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue-3)  | Deleted constructor. |
| `function` | [`operator=`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#operator-79)  | Deleted assignment operator. |
| `function` | [`RunnableQueue`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#runnablequeue-4)  | Deleted constructor. |
| `function` | [`operator=`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#operator-80)  | Deleted assignment operator. |
| `function` | [`popNext`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#popnext) `virtual` `inline` | Pops the next waiting item. |
| `function` | [`dispatchNext`](https://auscaster.com/icey/docs/api-reference/icy-RunnableQueue.md#dispatchnext) `virtual` `inline` | Pops and dispatches the next waiting item. |

## Inherited from [`Queue`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#queue-2)

| Kind | Name | Description |
|------|------|-------------|
| `function` | [`push`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#push) `inline` | Appends an item to the back of the queue (thread-safe). |
| `function` | [`push`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#push-1) `inline` | Appends an item to the back of the queue by move (thread-safe). |
| `function` | [`empty`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#empty-3) `const` `inline` |  |
| `function` | [`front`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#front) `const` `inline` |  |
| `function` | [`back`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#back) `const` `inline` |  |
| `function` | [`pop`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#pop) `inline` | Removes the front item from the queue (thread-safe). |
| `function` | [`sort`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#sort) `inline` | Sorts all queued items using the given comparator (thread-safe). |
| `function` | [`size`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#size-6) `const` `inline` |  |
| `function` | [`queue`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#queue-3) `const` `inline` |  |
| `variable` | [`_queue`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#_queue)  |  |
| `variable` | [`_mutex`](https://auscaster.com/icey/docs/api-reference/icy-Queue.md#_mutex-4)  |  |

## Inherited from [`Runnable`](https://auscaster.com/icey/docs/api-reference/icy-basic-Runnable.md#runnable)

| Kind | Name | Description |
|------|------|-------------|
| `function` | [`Runnable`](https://auscaster.com/icey/docs/api-reference/icy-basic-Runnable.md#runnable-1) `inline` |  |
| `function` | [`~Runnable`](https://auscaster.com/icey/docs/api-reference/icy-basic-Runnable.md#runnable-2) `virtual` | Defaulted destructor. |
| `function` | [`run`](https://auscaster.com/icey/docs/api-reference/icy-basic-Runnable.md#run-11) `virtual` | The run method will be called by the asynchronous context. |
| `function` | [`cancel`](https://auscaster.com/icey/docs/api-reference/icy-basic-Runnable.md#cancel-7) `virtual` `inline` | Cancel the current task. The [run()](https://auscaster.com/icey/docs/api-reference/icy-basic-Runnable.md#run-11) method should return ASAP. |
| `function` | [`cancelled`](https://auscaster.com/icey/docs/api-reference/icy-basic-Runnable.md#cancelled-3) `virtual` `const` `inline` | Returns true when the task has been cancelled. |
| `variable` | [`exit`](https://auscaster.com/icey/docs/api-reference/icy-basic-Runnable.md#exit)  |  |

## Inherited from [`PacketProcessor`](https://auscaster.com/icey/docs/api-reference/icy-PacketProcessor.md#packetprocessor)

| Kind | Name | Description |
|------|------|-------------|
| `function` | [`PacketProcessor`](https://auscaster.com/icey/docs/api-reference/icy-PacketProcessor.md#packetprocessor-1) `inline` |  |
| `function` | [`process`](https://auscaster.com/icey/docs/api-reference/icy-PacketProcessor.md#process-1) `virtual` | This method performs processing on the given packet and emits the result. |
| `function` | [`accepts`](https://auscaster.com/icey/docs/api-reference/icy-PacketProcessor.md#accepts-1) `virtual` `inline` | This method ensures compatibility with the given packet type. Return false to reject the packet. |
| `function` | [`operator<<`](https://auscaster.com/icey/docs/api-reference/icy-PacketProcessor.md#operator-69) `virtual` `inline` | [Stream](https://auscaster.com/icey/docs/api-reference/icy-Stream.md#stream) operator alias for [process()](https://auscaster.com/icey/docs/api-reference/icy-PacketProcessor.md#process-1) |

## Inherited from [`PacketStreamAdapter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#packetstreamadapter)

| Kind | Name | Description |
|------|------|-------------|
| `function` | [`PacketStreamAdapter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#packetstreamadapter-1)  | Construct the adapter, binding it to the given packet signal. |
| `function` | [`~PacketStreamAdapter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#packetstreamadapter-2) `virtual` `inline` |  |
| `function` | [`emit`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#emit-1) `virtual` | Emit a mutable raw buffer as a packet. |
| `function` | [`emit`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#emit-2) `virtual` | Emit a read-only raw buffer as a packet (data is copied internally). |
| `function` | [`emit`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#emit-3) `virtual` | Emit a string as a packet (data is copied internally). |
| `function` | [`emit`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#emit-4) `virtual` | Emit a flag-only packet carrying no payload data. |
| `function` | [`emit`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#emit-5) `virtual` | Emit an existing packet directly onto the outgoing signal. |
| `function` | [`getEmitter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#getemitter)  | Returns a reference to the outgoing packet signal. |
| `function` | [`retention`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#retention-1) `virtual` `const` | Returns how this adapter treats incoming packet lifetime. Most adapters are synchronous and therefore only borrow the packet for the current call chain. Queue-style adapters override this to advertise that they clone before deferred use. Callers may treat the first adapter reporting Cloned or Retained as the explicit ownership boundary in the stream graph. |
| `function` | [`onStreamStateChange`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#onstreamstatechange-1) `virtual` `inline` | Called by the [PacketStream](https://auscaster.com/icey/docs/api-reference/icy-PacketStream.md#packetstream) to notify when the internal [Stream](https://auscaster.com/icey/docs/api-reference/icy-Stream.md#stream) state changes. On receiving the Stopped state, it is the responsibility of the adapter to have ceased all outgoing packet transmission, especially in multi-thread scenarios. |
| `variable` | [`_emitter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#_emitter)  |  |
| `function` | [`PacketStreamAdapter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#packetstreamadapter-3)  | NonCopyable and NonMovable. |
| `function` | [`operator=`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#operator-72)  | Deleted assignment operator. |
| `function` | [`PacketStreamAdapter`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#packetstreamadapter-4)  | Deleted constructor. |
| `function` | [`operator=`](https://auscaster.com/icey/docs/api-reference/icy-PacketStreamAdapter.md#operator-73)  | Deleted assignment operator. |

## Public Methods

| Return | Name | Description |
|--------|------|-------------|
|  | [`SpeechQueue`](#speechqueue-1) `inline` `explicit` |  |

---

<a id="speechqueue-1"></a>

### SpeechQueue

`inline` `explicit`

```cpp
inline explicit SpeechQueue(int maxPackets = 64)
```

[Defined in src/speech/include/icy/speech/speechqueue.h:31](https://github.com/auscaster/icey/blob/main/src/speech/include/icy/speech/speechqueue.h#L31)
