54 lines
1.2 KiB
C++
54 lines
1.2 KiB
C++
#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<IOCPPASSINDATA> data) {
|
|
data.event = IOCPEVENT::WRITE;
|
|
#ifdef _WIN32
|
|
#endif
|
|
}
|
|
|
|
} // namespace Network
|