X-Git-Url: https://git.sesse.net/?p=cubemap;a=blobdiff_plain;f=stream.h;h=a57c6d88e7ff0955a68e0d02fceeb0910bd7491f;hp=efedc9b404a7f3c71e90fbb4fdb412e7ac58f5e5;hb=ae994771c0747d43bd1ed422224f4caacb95ca9f;hpb=c271559c8b2b9583346c8c6269701894cb9ff4c1;ds=sidebyside diff --git a/stream.h b/stream.h index efedc9b..a57c6d8 100644 --- a/stream.h +++ b/stream.h @@ -4,13 +4,14 @@ // Representation of a single, muxed (we only really care about bytes/blocks) stream. // Fed by Input, sent out by Server (to Client). +#include #include #include #include -struct Client; class MarkPool; class StreamProto; +struct Client; struct Stream { Stream(const std::string &stream_id, size_t backlog_size); @@ -59,11 +60,14 @@ struct Stream { // in the list of clients to wake up when we do. void put_client_to_sleep(Client *client); - // We have more data, so mark all clients that are sleeping as ready to go. - void wake_up_all_clients(); + // Add more input data to the stream, and wake up all clients that are sleeping. + void add_data(const char *data, ssize_t bytes); private: Stream(const Stream& other); + + // We have more data, so mark all clients that are sleeping as ready to go. + void wake_up_all_clients(); }; #endif // !defined(_STREAM_H)