# Sendable

<a id="sendable"></a>

# Sendable

```cpp
#include <icy/interface.h>

class Sendable
```

[Defined in src/base/include/icy/interface.h:119](https://github.com/auscaster/icey/blob/main/src/base/include/icy/interface.h#L119)

> **Subclassed by:** [`PacketTransaction< Message >`](https://auscaster.com/icey/docs/api-reference/icy-PacketTransaction.md#packettransaction), [`PacketTransaction< PacketT >`](https://auscaster.com/icey/docs/api-reference/icy-PacketTransaction.md#packettransaction)

Abstract interface for classes that can be sent and cancelled.

## Public Methods

| Return | Name | Description |
|--------|------|-------------|
| `bool` | [`send`](#send-10) `virtual` | Initiates the send operation. |
| `void` | [`cancel`](#cancel-8) `virtual` | Cancels a pending send operation. |

---

<a id="send-10"></a>

### send

`virtual`

```cpp
virtual bool send()
```

[Defined in src/base/include/icy/interface.h:124](https://github.com/auscaster/icey/blob/main/src/base/include/icy/interface.h#L124)

Initiates the send operation. 
#### Returns
true if the send was dispatched successfully, false otherwise.

#### Reimplemented by

- [`PacketTransaction::send`](https://auscaster.com/icey/docs/api-reference/icy-PacketTransaction.md#send)
- [`PacketTransaction::send`](https://auscaster.com/icey/docs/api-reference/icy-PacketTransaction.md#send)
- [`Transaction::send`](https://auscaster.com/icey/docs/api-reference/icy-net-Transaction.md#send-7)
- [`Transaction::send`](https://auscaster.com/icey/docs/api-reference/icy-net-Transaction.md#send-7)

---

<a id="cancel-8"></a>

### cancel

`virtual`

```cpp
virtual void cancel()
```

[Defined in src/base/include/icy/interface.h:127](https://github.com/auscaster/icey/blob/main/src/base/include/icy/interface.h#L127)

Cancels a pending send operation.

#### Reimplemented by

- [`PacketTransaction::cancel`](https://auscaster.com/icey/docs/api-reference/icy-PacketTransaction.md#cancel-1)
- [`PacketTransaction::cancel`](https://auscaster.com/icey/docs/api-reference/icy-PacketTransaction.md#cancel-1)
- [`Transaction::cancel`](https://auscaster.com/icey/docs/api-reference/icy-net-Transaction.md#cancel-6)
- [`Transaction::cancel`](https://auscaster.com/icey/docs/api-reference/icy-net-Transaction.md#cancel-6)
