unilink  0.4.3
A simple C++ library for unified async communication
unilink::transport::Serial Class Reference

Serial Transport implementation. More...

#include <serial.hpp>

Inheritance diagram for unilink::transport::Serial:
unilink::interface::Channel

Classes

struct  Impl
 

Public Member Functions

 ~Serial () override
 
 Serial (Serial &&) noexcept
 
Serialoperator= (Serial &&) noexcept
 
 Serial (const Serial &)=delete
 
Serialoperator= (const Serial &)=delete
 
void start () override
 
void stop () override
 
bool is_connected () const override
 
void async_write_copy (memory::ConstByteSpan data) override
 
void async_write_move (std::vector< uint8_t > &&data) override
 
void async_write_shared (std::shared_ptr< const std::vector< uint8_t >> data) override
 
void on_bytes (OnBytes cb) override
 
void on_state (OnState cb) override
 
void on_backpressure (OnBackpressure cb) override
 
void set_retry_interval (unsigned interval_ms)
 

Static Public Member Functions

static std::shared_ptr< Serialcreate (const config::SerialConfig &cfg)
 
static std::shared_ptr< Serialcreate (const config::SerialConfig &cfg, boost::asio::io_context &ioc)
 
static std::shared_ptr< Serialcreate (const config::SerialConfig &cfg, std::unique_ptr< interface::SerialPortInterface > port, boost::asio::io_context &ioc)
 

Additional Inherited Members

Detailed Description

Serial Transport implementation.

Definition at line 44 of file serial.hpp.

Constructor & Destructor Documentation

◆ ~Serial()

unilink::transport::Serial::~Serial ( )
override

Definition at line 411 of file serial.cc.

◆ Serial() [1/2]

unilink::transport::Serial::Serial ( Serial &&  )
defaultnoexcept

◆ Serial() [2/2]

unilink::transport::Serial::Serial ( const Serial )
delete

Member Function Documentation

◆ async_write_copy()

void unilink::transport::Serial::async_write_copy ( memory::ConstByteSpan  data)
overridevirtual

Implements unilink::interface::Channel.

Definition at line 477 of file serial.cc.

◆ async_write_move()

void unilink::transport::Serial::async_write_move ( std::vector< uint8_t > &&  data)
overridevirtual

Implements unilink::interface::Channel.

Definition at line 533 of file serial.cc.

◆ async_write_shared()

void unilink::transport::Serial::async_write_shared ( std::shared_ptr< const std::vector< uint8_t >>  data)
overridevirtual

Implements unilink::interface::Channel.

Definition at line 557 of file serial.cc.

◆ create() [1/3]

std::shared_ptr< Serial > unilink::transport::Serial::create ( const config::SerialConfig cfg)
static

Definition at line 392 of file serial.cc.

◆ create() [2/3]

static std::shared_ptr<Serial> unilink::transport::Serial::create ( const config::SerialConfig cfg,
boost::asio::io_context &  ioc 
)
static

◆ create() [3/3]

static std::shared_ptr<Serial> unilink::transport::Serial::create ( const config::SerialConfig cfg,
std::unique_ptr< interface::SerialPortInterface port,
boost::asio::io_context &  ioc 
)
static

◆ is_connected()

bool unilink::transport::Serial::is_connected ( ) const
overridevirtual

Implements unilink::interface::Channel.

Definition at line 475 of file serial.cc.

◆ on_backpressure()

void unilink::transport::Serial::on_backpressure ( OnBackpressure  cb)
overridevirtual

Implements unilink::interface::Channel.

Definition at line 584 of file serial.cc.

◆ on_bytes()

void unilink::transport::Serial::on_bytes ( OnBytes  cb)
overridevirtual

Implements unilink::interface::Channel.

Definition at line 582 of file serial.cc.

◆ on_state()

void unilink::transport::Serial::on_state ( OnState  cb)
overridevirtual

Implements unilink::interface::Channel.

Definition at line 583 of file serial.cc.

◆ operator=() [1/2]

Serial& unilink::transport::Serial::operator= ( const Serial )
delete

◆ operator=() [2/2]

Serial & unilink::transport::Serial::operator= ( Serial &&  )
defaultnoexcept

◆ set_retry_interval()

void unilink::transport::Serial::set_retry_interval ( unsigned  interval_ms)

Definition at line 586 of file serial.cc.

◆ start()

void unilink::transport::Serial::start ( )
overridevirtual

Implements unilink::interface::Channel.

Definition at line 425 of file serial.cc.

◆ stop()

void unilink::transport::Serial::stop ( )
overridevirtual

Implements unilink::interface::Channel.

Definition at line 452 of file serial.cc.


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