co_usb
Loading...
Searching...
No Matches
co_usb::transfer::detail::direction_partial_io_base< TSeq, EpDirection > Struct Template Reference

Provides Capy ReadStream-/WriteStream-compliant interface for partial transfer I/O. More...

#include <partial_io.hpp>

Inheritance diagram for co_usb::transfer::detail::direction_partial_io_base< TSeq, EpDirection >:

Public Member Functions

 direction_partial_io_base (boost::capy::executor_ref exec, TSeq const &tfer_seq)
 
template<boost::capy::MutableBufferSequence BuffersTy>
requires (EpDirection == endpoint_direction::in)
auto read_some (BuffersTy const &buffers) -> boost::capy::io_task< size_t >
 Performs partial read to a buffer sequence.
 
template<boost::capy::ConstBufferSequence BuffersTy>
requires (EpDirection == endpoint_direction::out)
auto write_some (BuffersTy const &buffers) -> boost::capy::io_task< size_t >
 Performs partial read to a buffer sequence.
 

Detailed Description

template<detail::TransferSequence TSeq, endpoint_direction EpDirection>
struct co_usb::transfer::detail::direction_partial_io_base< TSeq, EpDirection >

Provides Capy ReadStream-/WriteStream-compliant interface for partial transfer I/O.

Constructor & Destructor Documentation

◆ direction_partial_io_base()

template<detail::TransferSequence TSeq, endpoint_direction EpDirection>
co_usb::transfer::detail::direction_partial_io_base< TSeq, EpDirection >::direction_partial_io_base ( boost::capy::executor_ref  exec,
TSeq const &  tfer_seq 
)
inlineexplicit

Member Function Documentation

◆ read_some()

template<detail::TransferSequence TSeq, endpoint_direction EpDirection>
template<boost::capy::MutableBufferSequence BuffersTy>
requires (EpDirection == endpoint_direction::in)
auto co_usb::transfer::detail::direction_partial_io_base< TSeq, EpDirection >::read_some ( BuffersTy const &  buffers) -> boost::capy::io_task<size_t>
inline

Performs partial read to a buffer sequence.

May read less than the buffer size.

◆ write_some()

template<detail::TransferSequence TSeq, endpoint_direction EpDirection>
template<boost::capy::ConstBufferSequence BuffersTy>
requires (EpDirection == endpoint_direction::out)
auto co_usb::transfer::detail::direction_partial_io_base< TSeq, EpDirection >::write_some ( BuffersTy const &  buffers) -> boost::capy::io_task<size_t>
inline

Performs partial read to a buffer sequence.

May write less than the buffer size.


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