#pragma once #include #include #include #include #include #include #include class BufferedReader { public: explicit BufferedReader(PackageStream* stream); int32_t Read(char* output_buffer, int32_t buffer_len); PackageStream* ps; }; BufferedReader::BufferedReader(PackageStream* stream) { char buf[1500]; ps = new PackageStream(buf, 1); } int32_t BufferedReader::Read(char* output_buffer, int32_t buffer_len) { int len = 0, add = -1; for (int i = 0; i < buffer_len && add != 0; i++) { add = ps->ReadPackage(output_buffer + len); len += add; } return len; }