1 /* Icinga 2 | (c) 2012 Icinga GmbH | GPLv2+ */
3 #ifndef NETWORKSTREAM_H
4 #define NETWORKSTREAM_H
6 #include "base/i2-base.hpp"
7 #include "base/stream.hpp"
8 #include "base/socket.hpp"
18 class NetworkStream final : public Stream
21 DECLARE_PTR_TYPEDEFS(NetworkStream);
23 NetworkStream(Socket::Ptr socket);
25 size_t Read(void *buffer, size_t count, bool allow_partial = false) override;
26 void Write(const void *buffer, size_t count) override;
28 void Close() override;
30 bool IsEof() const override;
39 #endif /* NETWORKSTREAM_H */