15#ifndef OPENVPN_TRANSPORT_CLIENT_TRANSBASE_H
16#define OPENVPN_TRANSPORT_CLIENT_TRANSBASE_H
32struct TransportClientParent;
61 std::string &ip_addr)
const = 0;
93 unsigned int &keepalive_timeout) = 0;
Reference count base class for objects tracked by RCPtr. Disallows copying and assignment.
virtual TransportClient::Ptr new_transport_client_obj(openvpn_io::io_context &io_context, TransportClientParent *parent)=0
virtual void process_push(const OptionList &)
RCPtr< TransportClientFactory > Ptr
virtual void transport_connecting()=0
virtual void transport_pre_resolve()=0
virtual void transport_error(const Error::Type fatal_err, const std::string &err_text)=0
virtual void proxy_error(const Error::Type fatal_err, const std::string &err_text)=0
virtual bool transport_is_openvpn_protocol()=0
virtual void transport_wait()=0
virtual bool is_keepalive_enabled() const =0
virtual void disable_keepalive(unsigned int &keepalive_ping, unsigned int &keepalive_timeout)=0
virtual void transport_recv(BufferAllocated &buf)=0
virtual void transport_wait_proxy()=0
virtual void transport_needs_send()=0
virtual ~TransportClientParent()=default
virtual void reset_align_adjust(const size_t align_adjust)=0
virtual void transport_start()=0
virtual bool transport_send_const(const Buffer &buf)=0
virtual void transport_reparent(TransportClientParent *parent)=0
virtual size_t transport_send_queue_size()=0
RCPtr< TransportClient > Ptr
virtual bool transport_has_send_queue()=0
virtual bool transport_send_queue_empty()=0
virtual IP::Addr server_endpoint_addr() const =0
virtual bool transport_send(BufferAllocated &buf)=0
virtual void server_endpoint_info(std::string &host, std::string &port, std::string &proto, std::string &ip_addr) const =0
virtual openvpn_io::detail::socket_type native_handle()
virtual Protocol transport_protocol() const =0
virtual void transport_stop_requeueing()=0
virtual unsigned short server_endpoint_port() const