14#ifndef OPENVPN_TUN_SERVER_TUNBASE_H
15#define OPENVPN_TUN_SERVER_TUNBASE_H
59struct Recv :
public virtual RC<thread_unsafe_refcount>
72 const std::string &reason,
73 const std::string &client_reason) = 0;
79struct Send :
public virtual RC<thread_unsafe_refcount>
95 virtual const std::string &
tun_info()
const = 0;
Reference count base class for objects tracked by RCPtr. Disallows copying and assignment.
virtual Send::Ptr new_tun_obj(Recv *parent)=0
NativeHandle(const int fd_arg, const int peer_id_arg)
virtual void tun_recv(BufferAllocated &buf)=0
virtual void push_halt_restart_msg(const HaltRestart::Type type, const std::string &reason, const std::string &client_reason)=0
virtual bool tun_send_const(const Buffer &buf)=0
virtual void relay(const IP::Addr &target, const int port)=0
virtual bool tun_send(BufferAllocated &buf)=0
virtual NativeHandle tun_native_handle()=0
virtual const std::string & tun_info() const =0