#include "Runtime.hpp" #include "Sender.hpp" #include "basic-coro/AwaitableTask.hpp" #include #ifndef PLATFORM_WINDOWS # include # include #else # include # include #endif basiccoro::AwaitableTask Sender::Simple::write(std::string_view str, bool moreData) { co_return co_await this->write(reinterpret_cast(str.data()), str.size(), moreData); } basiccoro::AwaitableTask Sender::Simple::write(const std::byte *data, size_t size, bool moreData) { std::string fres; // Wait for socket to get ready for writing if (co_await aMan.waitWrite(fd) == AsyncResult::Error) [[unlikely]] { co_return AsyncResult::Error; } // Write co_return (send(fd, reinterpret_cast(data), size, 0) < 0)?AsyncResult::Error:AsyncResult::Success; }