| 14 | namespace debugviewpp { |
| 15 | |
| 16 | SocketReader::SocketReader(Timer& timer, ILineBuffer& lineBuffer, int port) : |
| 17 | LogSource(timer, SourceType::Udp, lineBuffer), |
| 18 | m_wsa(2, 2), |
| 19 | m_socket( Win32::WSASocket(AF_INET, SOCK_DGRAM, IPPROTO_UDP, nullptr, 0, WSA_FLAG_OVERLAPPED) ), |
| 20 | m_event( Win32::CreateEvent(nullptr, false, true, nullptr) ), |
| 21 | m_busy(false) |
| 22 | { |
| 23 | SetDescription(wstringbuilder() << L"Listening at UDP port " << port); |
| 24 | |
| 25 | m_overlapped.hEvent = m_event.get(); |
| 26 | m_wsaBuf[0].len = m_buffer.size(); |
| 27 | m_wsaBuf[0].buf = m_buffer.data(); |
| 28 | |
| 29 | sockaddr_in sa; |
| 30 | sa.sin_family = AF_INET; |
| 31 | sa.sin_addr.s_addr = htonl(INADDR_ANY); |
| 32 | sa.sin_port = htons(port); |
| 33 | Win32::bind(m_socket, sa); |
| 34 | } |
| 35 | |
| 36 | HANDLE SocketReader::GetHandle() const |
| 37 | { |
nothing calls this directly
no test coverage detected