llarp/vpn/i_packet_io.hpp

Namespaces

Name
llarp
[crypto.hpp]
llarp::vpn

Classes

Name
class llarp::vpn::I_Packet_IO

Source code

#pragma once
#include <functional>
#include <llarp/net/ip_packet.hpp>
#include <llarp/util/types.hpp>

namespace llarp::vpn
{
  class I_Packet_IO
  {
   public:
    std::function<void()> on_stop;
    virtual ~I_Packet_IO() = default;

    virtual void
    Start(){};

    virtual void
    Stop();

    virtual net::IPPacket
    ReadNextPacket() = 0;

    virtual bool
    WritePacket(net::IPPacket pkt) = 0;

    virtual int
    PollFD() const = 0;
  };

}  // namespace llarp::vpn

Updated on 2026-01-10 at 22:49:46 +0000