#include "Receiver.hpp" #include #include #ifndef PLATFORM_WINDOWS # include # include #else # include #endif std::string Receiver::Simple::read(size_t amount) { // Create buffer std::string fres; fres.resize(amount); // Read into buffer read(reinterpret_cast(fres.data()), fres.size()); // Return final buffer return fres; } void Receiver::Simple::read(std::byte *buffer, size_t size) { recv(fd, buffer, size, MSG_WAITALL); } std::string Receiver::Simple::readSome(size_t max) { // Create buffer std::string fres; fres.resize(max); // Receive data ssize_t bytesRead; if ((bytesRead = recv(fd, fres.data(), max, MSG_WAITALL)) < 0) [[unlikely]] { return ""; } // Resize and return final buffer fres.resize(bytesRead); return fres; }