6#include <boost/capy/buffers.hpp>
7#include <boost/capy/io_task.hpp>
9#include <libusb-1.0/libusb.h>
26 throw std::bad_alloc{};
88 std::chrono::milliseconds
timeout_ms = std::chrono::milliseconds{0})
99template <ep_direction Dir>
104 std::chrono::milliseconds
timeout_ms = std::chrono::milliseconds{0})
115template <ep_direction Dir>
131template <ep_direction Dir>
137 std::chrono::milliseconds
timeout_ms = std::chrono::milliseconds{0})
148template <ep_direction Dir>
154 std::chrono::milliseconds
timeout_ms = std::chrono::milliseconds{0})
158 nullptr, 0,
nullptr,
nullptr,
timeout_ms.count());
Definition context.hpp:14
ep_direction
Definition endpoint.hpp:22
std::unique_ptr< libusb_transfer, transfer_deleter_t > unique_transfer
Definition raii.hpp:28
use_service
Definition context.hpp:17
endpoint_type
Definition endpoint.hpp:13
Base transfer type which provides Capy's ReadStream/WriteStream operations depending on the direction...
Definition transfer_types.hpp:21
boost::capy::io_task< size_t > write_some(boost::capy::const_buffer buf)
Partial write to an endpoint.
Definition transfer_types.hpp:69
auto raw() const noexcept
Definition transfer_types.hpp:39
consteval ep_direction direction() const noexcept
Definition transfer_types.hpp:29
constexpr endpoint_type ep_type() const noexcept
Definition transfer_types.hpp:34
unique_transfer m_tfer
Definition transfer_types.hpp:79
boost::capy::io_task< size_t > read_some(boost::capy::mutable_buffer buf)
Partial read from an endpoint.
Definition transfer_types.hpp:52
basic_transfer(int iso_packets=0)
Definition transfer_types.hpp:22
Transfer type for bulk stream transfers.
Definition transfer_types.hpp:151
bulk_stream_transfer(endpoint< Dir > ep, uint32_t stream_id, std::chrono::milliseconds timeout_ms=std::chrono::milliseconds{0})
Definition transfer_types.hpp:152
Transfer type for bulk transfers.
Definition transfer_types.hpp:102
bulk_transfer(endpoint< Dir > ep, std::chrono::milliseconds timeout_ms=std::chrono::milliseconds{0})
Definition transfer_types.hpp:103
Transfer type for control transfers.
Definition transfer_types.hpp:86
control_transfer(libusb_device_handle *devh, std::chrono::milliseconds timeout_ms=std::chrono::milliseconds{0})
Definition transfer_types.hpp:87
Transfer type for interrupt transfers.
Definition transfer_types.hpp:118
interrupt_transfer(endpoint< Dir > ep, std::chrono::milliseconds timeout_ms=std::chrono::milliseconds{0})
Definition transfer_types.hpp:119
Transfer type for isochronous transfers.
Definition transfer_types.hpp:134
isochronous_transfer(endpoint< Dir > ep, int iso_num, std::chrono::milliseconds timeout_ms=std::chrono::milliseconds{0})
Definition transfer_types.hpp:135
Awaitable for submitting transfers.
Definition transfer_awaitable.hpp:30