6#include "roo_io/core/input_stream.h"
11class LinkInputStream :
public roo_io::InputStream {
14 : channel_(nullptr), my_stream_id_(0), status_(roo_io::kClosed) {}
16 LinkInputStream(Channel& channel, uint32_t my_stream_id)
18 my_stream_id_(my_stream_id),
19 status_(my_stream_id == 0 ? roo_io::kClosed : roo_io::
kOk) {}
21 LinkInputStream(
const LinkInputStream&) =
delete;
22 LinkInputStream& operator=(
const LinkInputStream&) =
delete;
24 LinkInputStream(LinkInputStream&& other);
25 LinkInputStream& operator=(LinkInputStream&& other);
27 void close()
override;
29 size_t read(roo::byte* buf,
size_t count)
override;
31 size_t tryRead(roo::byte* buf,
size_t count)
override;
37 roo_io::Status status()
const override {
return status_; }
41 uint32_t my_stream_id_;
42 roo_io::Status status_;