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 {
47 : channel_fd_(channel_fd),
48 ready_to_write_(
false),
49 dispatcher_(&dispatcher),
50 write_alloc_future_(allocator) {
63 static constexpr size_t kMinimumReadSize = 64;
64 static constexpr size_t kDesiredReadSize = 1024;
75 write_alloc_future_.SetDesiredSize(min_bytes);
76 return write_alloc_future_.Pend(cx);
A single-threaded cooperatively scheduled runtime for async tasks.
Definition: dispatcher.h:48
Definition: epoll_channel.h:42
Definition: channel.h:583
Definition: allocator_async.h:93
Definition: allocator.h:57
Definition: multibuf_v1.h:248
constexpr Poll Ready()
Returns a value indicating completion.
Definition: poll.h:255
constexpr Status OkStatus()
Definition: status.h:297