10 using namespace std::chrono_literals;
16 using typename std::streambuf::int_type;
17 using typename std::streambuf::char_type;
18 using typename std::streambuf::traits_type;
34 BufferArray(
const BufferArray& other) =
delete;
36 BufferArray(BufferArray&& other)
noexcept;
38 BufferArray& operator =(
const BufferArray& other) =
delete;
40 BufferArray& operator =(BufferArray&& other)
noexcept;
46 const char* data()
const;
48 void resize(
size_t size);
50 char& operator [](
size_t index);
65 int_type
overflow(int_type ch)
override;
69 std::streamsize
xsputn(
const char_type* s, std::streamsize size)
override;
71 std::streamsize
xsgetn(char_type* s, std::streamsize size)
override;
86 template<web::Timeout T = std::chrono::seconds>
94 template<web::Timeout T = std::chrono::seconds>
95 IOSocketBuffer(std::string_view ip, std::string_view port, T timeout = 30s);
109 const std::unique_ptr<web::Network>&
getNetwork() const noexcept;
121 template<web::Timeout T>
123 network(std::make_unique<
web::Network>(clientSocket, timeout)),
130 template<web::Timeout T>
132 network(std::make_unique<
web::Network>(ip, port, timeout)),
Base input/output socket buffer.
Definition IOSocketBuffer.h:14
bool getEndOfStream() const noexcept
Definition IOSocketBuffer.cpp:110
IOSocketBuffer(const IOSocketBuffer &)=delete
Deleted copy contructor.
int_type overflow(int_type ch) override
Definition IOSocketBuffer.cpp:16
int getLastPacketSize() const noexcept
Definition IOSocketBuffer.cpp:105
int lastPacketSize
Definition IOSocketBuffer.h:60
size_t getAvailableInputSize() const
Definition IOSocketBuffer.cpp:11
bool endOfStream
Definition IOSocketBuffer.h:62
IOSocketBuffer(IOSocketBuffer &&other) noexcept=default
Move constructor.
std::unique_ptr< web::Network > network
Definition IOSocketBuffer.h:59
std::streamsize xsgetn(char_type *s, std::streamsize size) override
Definition IOSocketBuffer.cpp:69
const std::unique_ptr< web::Network > & getNetwork() const noexcept
Definition IOSocketBuffer.cpp:100
IOSocketBuffer & operator=(const IOSocketBuffer &)=delete
Deleted copy assignment operator.
std::streamsize xsputn(const char_type *s, std::streamsize size) override
Definition IOSocketBuffer.cpp:53
BufferArray inputData
Definition IOSocketBuffer.h:61
int_type underflow() override
Definition IOSocketBuffer.cpp:30
Definition BufferArray.cpp:11
Definition ContainerWrapper.cpp:4