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

Prefills the transfer sequence as isochronous transfers and provides complete I/O operations. More...

#include <complete_io.hpp>

Inheritance diagram for co_usb::transfer::isochronous_complete_io< TSeq, EpDirection >:
Collaboration diagram for co_usb::transfer::isochronous_complete_io< TSeq, EpDirection >:

Public Member Functions

 isochronous_complete_io (boost::capy::executor_ref exec, TSeq const &tfer_seq, endpoint< EpDirection > endpoint, int iso_packets, size_t single_transfer_limit, std::chrono::milliseconds timeout_ms=std::chrono::milliseconds{0}, std::pmr::memory_resource *memres=std::pmr::get_default_resource())
 
- Public Member Functions inherited from co_usb::transfer::detail::direction_complete_io_base< TSeq, EpDirection >
 direction_complete_io_base (boost::capy::executor_ref exec, TSeq const &tfer_seq, size_t single_transfer_limit, std::pmr::memory_resource *memres=std::pmr::get_default_resource())
 
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::MutableBufferSequence BuffersTy>
requires (EpDirection == endpoint_direction::in)
auto read (BuffersTy const &buffers) -> boost::capy::io_task< size_t >
 Performs complete 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 >
 
template<boost::capy::ConstBufferSequence BuffersTy>
requires (EpDirection == endpoint_direction::out)
auto write (BuffersTy const &buffers) -> boost::capy::io_task< size_t >
 Performs complete write from a buffer sequence.
 
template<boost::capy::ConstBufferSequence BuffersTy>
requires (EpDirection == endpoint_direction::out)
auto write_eof (BuffersTy const &buffers) -> boost::capy::io_task< size_t >
 Performs complete write from a buffer sequence.
 
template<boost::capy::ConstBufferSequence BuffersTy>
requires (EpDirection == endpoint_direction::out)
auto write_eof () -> boost::capy::io_task<>
 Indicates EOF and closes the sink.
 

Detailed Description

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

Prefills the transfer sequence as isochronous transfers and provides complete I/O operations.

Note
Requires all transfers in a transfer sequence to be allocated with the number of iso packets valid for a given iso_packets value.

Constructor & Destructor Documentation

◆ isochronous_complete_io()

template<detail::TransferSequence TSeq, endpoint_direction EpDirection>
co_usb::transfer::isochronous_complete_io< TSeq, EpDirection >::isochronous_complete_io ( boost::capy::executor_ref  exec,
TSeq const &  tfer_seq,
endpoint< EpDirection >  endpoint,
int  iso_packets,
size_t  single_transfer_limit,
std::chrono::milliseconds  timeout_ms = std::chrono::milliseconds{0},
std::pmr::memory_resource *  memres = std::pmr::get_default_resource() 
)
inlineexplicit

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