# Server::VirtualPeer

<a id="virtualpeer"></a>

# VirtualPeer

```cpp
#include <src/symple/src/server/detail.h>

struct VirtualPeer
```

[Defined in src/symple/src/server/detail.h:21](https://github.com/auscaster/icey/blob/main/src/symple/src/server/detail.h#L21)

A peer added with addVirtualPeer: present in its rooms like any peer, with messages delivered to its handler instead of a WebSocket connection.

## Public Attributes

| Return | Name | Description |
|--------|------|-------------|
| [`Peer`](https://auscaster.com/icey/docs/api-reference/icy-smpl-Peer.md#peer-1) | [`peer`](#peer-6)  |  |
| `std::unordered_set< std::string >` | [`rooms`](#rooms-1)  |  |
| std::function< void(const [`json::Value`](https://auscaster.com/icey/docs/api-reference/icy-json.md#value) &)> | [`handler`](#handler)  |  |

---

<a id="peer-6"></a>

### peer

```cpp
Peer peer
```

Type: [`Peer`](https://auscaster.com/icey/docs/api-reference/icy-smpl-Peer.md#peer-1)

[Defined in src/symple/src/server/detail.h:23](https://github.com/auscaster/icey/blob/main/src/symple/src/server/detail.h#L23)

---

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

### rooms

```cpp
std::unordered_set< std::string > rooms
```

[Defined in src/symple/src/server/detail.h:24](https://github.com/auscaster/icey/blob/main/src/symple/src/server/detail.h#L24)

---

<a id="handler"></a>

### handler

```cpp
std::function< void(const json::Value &)> handler
```

Type: std::function< void(const [`json::Value`](https://auscaster.com/icey/docs/api-reference/icy-json.md#value) &)>

[Defined in src/symple/src/server/detail.h:25](https://github.com/auscaster/icey/blob/main/src/symple/src/server/detail.h#L25)
