53 void start() override;
55 bool is_connected() const override;
58 void async_write_move(std::vector<uint8_t>&& data) override;
59 void async_write_shared(std::shared_ptr<const std::vector<uint8_t>> data) override;
61 void on_bytes(
OnBytes cb) override;
62 void on_state(
OnState cb) override;
66 explicit
UdpChannel(const config::UdpConfig& cfg);
70 const
Impl* get_impl()
const {
return impl_.get(); }
71 Impl* get_impl() {
return impl_.get(); }
72 std::unique_ptr<Impl> impl_;
std::function< void(memory::ConstByteSpan)> OnBytes
std::function< void(base::LinkState)> OnState
std::function< void(size_t)> OnBackpressure
UDP Transport implementation.
static std::shared_ptr< UdpChannel > create(const config::UdpConfig &cfg, boost::asio::io_context &ioc)
UdpChannel(UdpChannel &&) noexcept
SafeSpan< const uint8_t > ConstByteSpan