co_usb
Loading...
Searching...
No Matches
partial_io.hpp File Reference

Partial I/O adapters for transfer sequences. More...

#include "co_usb/ev/detail/handler_service.hpp"
#include "co_usb/ev/event_handler_ref.hpp"
#include "co_usb/transfer/detail/any_buffer_sequence.hpp"
#include "co_usb/transfer/detail/sequence_awaitable.hpp"
#include "co_usb/transfer/detail/transfer_sequence.hpp"
#include "co_usb/transfer/endpoint.hpp"
#include "co_usb/transfer/operations.hpp"
#include "co_usb/transfer/sequence_view.hpp"
#include <boost/capy/buffers.hpp>
#include <boost/capy/ex/executor_ref.hpp>
#include <boost/capy/ex/this_coro.hpp>
#include <boost/capy/io_task.hpp>
Include dependency graph for partial_io.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  co_usb::transfer::detail::partial_io_base< TSeq >
 Zero-allocation adapter around a transfer sequence enabling the use of asynchronous partial I/O operations on a given transfer sequence. More...
 
struct  co_usb::transfer::detail::direction_partial_io_base< TSeq, EpDirection >
 Provides Capy ReadStream-/WriteStream-compliant interface for partial transfer I/O. More...
 
struct  co_usb::transfer::control_partial_io< TSeq, EpDirection >
 Prefills the transfer sequence as control transfers and provides partial I/O operations. More...
 
struct  co_usb::transfer::bulk_partial_io< TSeq, EpDirection >
 Prefills the transfer sequence as bulk transfers and provides partial I/O operations. More...
 
struct  co_usb::transfer::interrupt_partial_io< TSeq, EpDirection >
 Prefills the transfer sequence as interrupt transfers and provides partial I/O operations. More...
 
struct  co_usb::transfer::isochronous_partial_io< TSeq, EpDirection >
 Prefills the transfer sequence as isochronous transfers and provides partial I/O operations. More...
 
struct  co_usb::transfer::bulk_stream_partial_io< TSeq, EpDirection >
 Prefills the transfer sequence as bulk stream transfers and provides partial I/O operations. More...
 

Namespaces

namespace  co_usb
 
namespace  co_usb::transfer
 
namespace  co_usb::transfer::detail
 

Typedefs

template<detail::TransferSequence TSeq>
using co_usb::transfer::control_out = control_partial_io< TSeq, endpoint_direction::out >
 Write specialization of co_usb::transfer::control_partial_io.
 
template<detail::TransferSequence TSeq>
using co_usb::transfer::control_in = control_partial_io< TSeq, endpoint_direction::in >
 Read specialization of co_usb::transfer::control_partial_io.
 
template<detail::TransferSequence TSeq>
using co_usb::transfer::bulk_out = bulk_partial_io< TSeq, endpoint_direction::out >
 Write specialization of co_usb::transfer::bulk_partial_io.
 
template<detail::TransferSequence TSeq>
using co_usb::transfer::bulk_in = bulk_partial_io< TSeq, endpoint_direction::in >
 Read specialization of co_usb::transfer::bulk_partial_io.
 
template<detail::TransferSequence TSeq>
using co_usb::transfer::interrupt_out = interrupt_partial_io< TSeq, endpoint_direction::out >
 Write specialization of co_usb::transfer::interrupt_partial_io.
 
template<detail::TransferSequence TSeq>
using co_usb::transfer::interrupt_in = interrupt_partial_io< TSeq, endpoint_direction::in >
 Read specialization of co_usb::transfer::interrupt_partial_io.
 
template<detail::TransferSequence TSeq>
using co_usb::transfer::isochronous_out = isochronous_partial_io< TSeq, endpoint_direction::out >
 Write specialization of co_usb::transfer::isochronous_partial_io.
 
template<detail::TransferSequence TSeq>
using co_usb::transfer::isochronous_in = isochronous_partial_io< TSeq, endpoint_direction::in >
 Read specialization of co_usb::transfer::isochronous_partial_io.
 
template<detail::TransferSequence TSeq>
using co_usb::transfer::bulk_stream_out = bulk_stream_partial_io< TSeq, endpoint_direction::out >
 Write specialization of co_usb::transfer::bulk_stream_partial_io.
 
template<detail::TransferSequence TSeq>
using co_usb::transfer::bulk_stream_in = bulk_stream_partial_io< TSeq, endpoint_direction::in >
 Read specialization of co_usb::transfer::bulk_stream_partial_io.
 

Detailed Description

Partial I/O adapters for transfer sequences.