#include "socket/iocp.h" #include "utils/thread_pool.h" namespace Network { IOCP::~IOCP() { destruct(); } void IOCP::destruct() { #ifdef __linux__ #endif } void IOCP::registerSocket(IOCPPASSINDATA* data) { #ifdef _WIN32 HANDLE returnData = ::CreateIoCompletionPort( (HANDLE)data->socket->sock, completionPort_, data->socket->sock, 0); if (returnData == 0) completionPort_ = returnData; #endif } //int IOCP::recv(IOCPPASSINDATA* data, int bufferCount) { // data->event = IOCPEVENT::READ; //#ifdef _WIN32 // DWORD recvbytes = 0, flags = 0; // return ::WSARecv(data->socket->sock, &data->wsabuf, bufferCount, &recvbytes, // &flags, &data->overlapped, NULL); //#endif //} // //int IOCP::send(IOCPPASSINDATA* data, int bufferCount, int __flags) { // data->event = IOCPEVENT::WRITE; //#ifdef _WIN32 // DWORD sendbytes = 0; // return ::WSASend(data->socket->sock, &data->wsabuf, bufferCount, &sendbytes, // __flags, &data->overlapped, NULL); //#endif //} int IOCP::recv(IOCPPASSINDATA& data) { data.event = IOCPEVENT::READ; #ifdef _WIN32 #endif } int IOCP::send(std::vector data) { data.event = IOCPEVENT::WRITE; #ifdef _WIN32 #endif } } // namespace Network