---
title: llarp::apple::AppleVPNInterface

---

# llarp::apple::AppleVPNInterface





Inherits from vpn::QueuedNetworkInterface, std::enable_shared_from_this< AppleVPNInterface >

## Public Types

|                | Name           |
| -------------- | -------------- |
| using std::function< void([AppleVPNInterface](Classes/classllarp_1_1apple_1_1AppleVPNInterface.md) &)> | **[on_readable_callback](Classes/classllarp_1_1apple_1_1AppleVPNInterface.md#using-on-readable-callback)**  |

## Public Functions

|                | Name           |
| -------------- | -------------- |
| | **[AppleVPNInterface](Classes/classllarp_1_1apple_1_1AppleVPNInterface.md#function-applevpninterface)**([Context](Classes/structllarp_1_1apple_1_1Context.md) & ctx, [layers::platform::PlatformLayer](Classes/classllarp_1_1layers_1_1platform_1_1PlatformLayer.md) & plat, packet_write_callback packet_writer, on_readable_callback on_readable) |
| bool | **[WritePacket](Classes/classllarp_1_1apple_1_1AppleVPNInterface.md#function-writepacket)**([net::IPPacket](Classes/structllarp_1_1net_1_1IPPacket.md) pkt) override |
| void | **[on_readable](Classes/classllarp_1_1apple_1_1AppleVPNInterface.md#function-on-readable)**()<br>continue reading packets.  |

## Public Types Documentation

### using on_readable_callback

```cpp
using llarp::apple::AppleVPNInterface::on_readable_callback =  std::function<void(AppleVPNInterface&)>;
```


## Public Functions Documentation

### function AppleVPNInterface

```cpp
explicit AppleVPNInterface(
    Context & ctx,
    layers::platform::PlatformLayer & plat,
    packet_write_callback packet_writer,
    on_readable_callback on_readable
)
```


### function WritePacket

```cpp
bool WritePacket(
    net::IPPacket pkt
) override
```


### function on_readable

```cpp
void on_readable()
```

continue reading packets. 

-------------------------------

Updated on 2023-04-27 at 04:17:17 +0000