# ClientState

<a id="clientstate"></a>

# ClientState

```cpp
#include <icy/turn/client/client.h>

struct ClientState
```

[Defined in src/turn/include/icy/turn/client/client.h:30](https://github.com/auscaster/icey/blob/main/src/turn/include/icy/turn/client/client.h#L30)

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

[State](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) machine states for the TURN client.

## List of all members

| Name | Kind | Owner |
|------|------|-------|
| [`toString`](#tostring-9) | `function` | Declared here |
| [`Type`](#type-16) | `enum` | Declared here |
| [`operator<<`](https://auscaster.com/icey/docs/api-reference/icy-State.md#operator-91) | `friend` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state-1) | `function` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state-2) | `function` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`operator=`](https://auscaster.com/icey/docs/api-reference/icy-State.md#operator-92) | `function` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`~State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state-3) | `function` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`id`](https://auscaster.com/icey/docs/api-reference/icy-State.md#id) | `function` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`set`](https://auscaster.com/icey/docs/api-reference/icy-State.md#set-2) | `function` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`str`](https://auscaster.com/icey/docs/api-reference/icy-State.md#str-4) | `function` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`toString`](https://auscaster.com/icey/docs/api-reference/icy-State.md#tostring-2) | `function` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`equals`](https://auscaster.com/icey/docs/api-reference/icy-State.md#equals) | `function` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`between`](https://auscaster.com/icey/docs/api-reference/icy-State.md#between) | `function` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`operator==`](https://auscaster.com/icey/docs/api-reference/icy-State.md#operator-93) | `function` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`operator==`](https://auscaster.com/icey/docs/api-reference/icy-State.md#operator-94) | `function` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`_id`](https://auscaster.com/icey/docs/api-reference/icy-State.md#_id) | `variable` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |
| [`ID`](https://auscaster.com/icey/docs/api-reference/icy-State.md#id-1) | `typedef` | Inherited from [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state) |

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

| Kind | Name | Description |
|------|------|-------------|
| `friend` | [`operator<<`](https://auscaster.com/icey/docs/api-reference/icy-State.md#operator-91) `inline` |  |
| `function` | [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state-1)  |  |
| `function` | [`State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state-2)  | Copy constructor. |
| `function` | [`operator=`](https://auscaster.com/icey/docs/api-reference/icy-State.md#operator-92)  | Copy assignment. |
| `function` | [`~State`](https://auscaster.com/icey/docs/api-reference/icy-State.md#state-3) `virtual` | Defaulted destructor. |
| `function` | [`id`](https://auscaster.com/icey/docs/api-reference/icy-State.md#id) `const` | Returns the current state ID. |
| `function` | [`set`](https://auscaster.com/icey/docs/api-reference/icy-State.md#set-2)  | Sets the state ID. |
| `function` | [`str`](https://auscaster.com/icey/docs/api-reference/icy-State.md#str-4) `virtual` `const` | Returns a human-readable string for the given state ID. Override in derived classes to provide meaningful names. |
| `function` | [`toString`](https://auscaster.com/icey/docs/api-reference/icy-State.md#tostring-2) `virtual` `const` | Returns a human-readable string for the current state ID. |
| `function` | [`equals`](https://auscaster.com/icey/docs/api-reference/icy-State.md#equals) `const` | Returns true if the current state ID equals the given ID. |
| `function` | [`between`](https://auscaster.com/icey/docs/api-reference/icy-State.md#between) `const` | Returns true if the current state ID is in the inclusive range [lid, rid]. |
| `function` | [`operator==`](https://auscaster.com/icey/docs/api-reference/icy-State.md#operator-93) `const` `inline` |  |
| `function` | [`operator==`](https://auscaster.com/icey/docs/api-reference/icy-State.md#operator-94) `const` `inline` |  |
| `variable` | [`_id`](https://auscaster.com/icey/docs/api-reference/icy-State.md#_id)  |  |
| `typedef` | [`ID`](https://auscaster.com/icey/docs/api-reference/icy-State.md#id-1)  |  |

## Public Methods

| Return | Name | Description |
|--------|------|-------------|
| `std::string` | [`toString`](#tostring-9) `virtual` `const` `inline` |  |

---

<a id="tostring-9"></a>

### toString

`virtual` `const` `inline`

```cpp
virtual inline std::string toString() const
```

[Defined in src/turn/include/icy/turn/client/client.h:43](https://github.com/auscaster/icey/blob/main/src/turn/include/icy/turn/client/client.h#L43)

#### Returns
Human-readable name for the current state.

#### Reimplements

- [`State::toString`](https://auscaster.com/icey/docs/api-reference/icy-State.md#tostring-2)

## Public Types

| Name | Description |
|------|-------------|
| [`Type`](#type-16)  |  |

---

<a id="type-16"></a>

### Type

```cpp
enum Type
```

[Defined in src/turn/include/icy/turn/client/client.h:32](https://github.com/auscaster/icey/blob/main/src/turn/include/icy/turn/client/client.h#L32)

| Value | Description |
|-------|-------------|
| `None` |  |
| `Allocating` |  |
| `Authorizing` |  |
| `Success` |  |
| `Failed` |  |
