MCPcopy Create free account
hub / github.com/MonaSolutions/MonaServer / startWrite

Method startWrite

MonaBase/sources/SocketManager.cpp:143–159  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

141}
142
143bool SocketManager::startWrite(NET_SOCKET sockfd,Socket** ppSocket) const {
144#if defined(_WIN32)
145 return WSAAsyncSelect(sockfd, _eventSystem, 104, FD_CONNECT | FD_ACCEPT | FD_CLOSE | FD_READ | FD_WRITE) == 0;
146#elif defined(_OS_BSD)
147 struct kevent event;
148 memset(&event, 0, sizeof(event));
149 EV_SET(&event, sockfd, EVFILT_WRITE, EV_ADD, 0, 0, ppSocket);
150 return kevent(_eventSystem, &event, 1, NULL, 0, NULL) >= 0;
151#else
152 epoll_event event;
153 memset(&event, 0, sizeof(event));
154 event.events = EPOLLIN | EPOLLOUT | EPOLLRDHUP;
155 event.data.fd = sockfd;
156 event.data.ptr = ppSocket;
157 return epoll_ctl(_eventSystem, EPOLL_CTL_MOD, sockfd, &event)>=0;
158#endif
159}
160
161bool SocketManager::stopWrite(NET_SOCKET sockfd,Socket** ppSocket) const {
162#if defined(_WIN32)

Callers 2

addSenderMethod · 0.80
flushMethod · 0.80

Calls 1

keventClass · 0.85

Tested by

no test coverage detected