unilink  0.4.3
A simple C++ library for unified async communication
unilink::interface::Channel Class Referenceabstract

#include <channel.hpp>

Inheritance diagram for unilink::interface::Channel:
unilink::transport::Serial unilink::transport::TcpClient unilink::transport::TcpServer unilink::transport::UdpChannel

Public Types

using OnBytes = std::function< void(memory::ConstByteSpan)>
 
using OnState = std::function< void(base::LinkState)>
 
using OnBackpressure = std::function< void(size_t)>
 

Public Member Functions

virtual ~Channel ()=default
 
virtual void start ()=0
 
virtual void stop ()=0
 
virtual bool is_connected () const =0
 
virtual void async_write_copy (memory::ConstByteSpan data)=0
 
virtual void async_write_move (std::vector< uint8_t > &&data)=0
 
virtual void async_write_shared (std::shared_ptr< const std::vector< uint8_t >> data)=0
 
virtual void on_bytes (OnBytes cb)=0
 
virtual void on_state (OnState cb)=0
 
virtual void on_backpressure (OnBackpressure cb)=0
 

Detailed Description

Definition at line 28 of file channel.hpp.

Member Typedef Documentation

◆ OnBackpressure

using unilink::interface::Channel::OnBackpressure = std::function<void(size_t )>

Definition at line 32 of file channel.hpp.

◆ OnBytes

Definition at line 30 of file channel.hpp.

◆ OnState

Definition at line 31 of file channel.hpp.

Constructor & Destructor Documentation

◆ ~Channel()

virtual unilink::interface::Channel::~Channel ( )
virtualdefault

Member Function Documentation

◆ async_write_copy()

virtual void unilink::interface::Channel::async_write_copy ( memory::ConstByteSpan  data)
pure virtual

◆ async_write_move()

virtual void unilink::interface::Channel::async_write_move ( std::vector< uint8_t > &&  data)
pure virtual

◆ async_write_shared()

virtual void unilink::interface::Channel::async_write_shared ( std::shared_ptr< const std::vector< uint8_t >>  data)
pure virtual

◆ is_connected()

virtual bool unilink::interface::Channel::is_connected ( ) const
pure virtual

◆ on_backpressure()

virtual void unilink::interface::Channel::on_backpressure ( OnBackpressure  cb)
pure virtual

◆ on_bytes()

virtual void unilink::interface::Channel::on_bytes ( OnBytes  cb)
pure virtual

◆ on_state()

virtual void unilink::interface::Channel::on_state ( OnState  cb)
pure virtual

◆ start()

virtual void unilink::interface::Channel::start ( )
pure virtual

◆ stop()

virtual void unilink::interface::Channel::stop ( )
pure virtual

The documentation for this class was generated from the following file: