19#include "pw_async2/dispatcher.h"
20#include "pw_async2/poll.h"
21#include "pw_channel/channel.h"
22#include "pw_multibuf/allocator.h"
23#include "pw_multibuf/allocator_async.h"
24#include "pw_multibuf/multibuf.h"
26namespace pw::channel {
45 : channel_fd_(channel_fd),
46 ready_to_write_(
false),
47 dispatcher_(&dispatcher),
48 write_alloc_future_(allocator) {
61 static constexpr size_t kMinimumReadSize = 64;
62 static constexpr size_t kDesiredReadSize = 1024;
73 write_alloc_future_.SetDesiredSize(min_bytes);
74 return write_alloc_future_.Pend(cx);
A single-threaded cooperatively-scheduled runtime for async tasks.
Definition: dispatcher.h:46
Definition: epoll_channel.h:40
Definition: channel.h:583
Definition: allocator_async.h:91
Definition: allocator.h:55
Definition: multibuf_v1.h:246
constexpr Status OkStatus()
Definition: status.h:234