6#include "roo_io/core/input_stream.h"
11class LinkOutputStream :
public roo_io::OutputStream {
14 : channel_(nullptr), my_stream_id_(0), status_(roo_io::kClosed) {}
16 LinkOutputStream(Channel& channel, uint32_t my_stream_id)
17 : channel_(&channel), my_stream_id_(my_stream_id), status_(roo_io::
kOk) {}
19 LinkOutputStream(
const LinkOutputStream&) =
delete;
20 LinkOutputStream& operator=(
const LinkOutputStream&) =
delete;
22 LinkOutputStream(LinkOutputStream&& other);
23 LinkOutputStream& operator=(LinkOutputStream&& other);
25 size_t write(
const roo::byte* buf,
size_t count)
override;
27 size_t tryWrite(
const roo::byte* buf,
size_t count)
override;
29 size_t availableForWrite();
31 void flush()
override;
33 void close()
override;
35 roo_io::Status status()
const override {
return status_; }
39 uint32_t my_stream_id_;
40 roo_io::Status status_;