MCPcopy Create free account
hub / github.com/brainflow-dev/brainflow / bind

Method bind

src/utils/socket_server_udp.cpp:21–55  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

19}
20
21int SocketServerUDP::bind ()
22{
23 if (wsa_initialized)
24 {
25 return (int)SocketServerUDPReturnCodes::SOCKET_ALREADY_CREATED_ERROR;
26 }
27 WSADATA wsadata;
28 int res = WSAStartup (MAKEWORD (2, 2), &wsadata);
29 if (res != 0)
30 {
31 return (int)SocketServerUDPReturnCodes::WSA_STARTUP_ERROR;
32 }
33 wsa_initialized = false;
34 server_addr.sin_family = AF_INET;
35 server_addr.sin_port = htons (local_port);
36 server_addr.sin_addr.s_addr = htonl (INADDR_ANY);
37 server_socket = socket (AF_INET, SOCK_DGRAM, IPPROTO_UDP);
38 if (server_socket == INVALID_SOCKET)
39 {
40 return (int)SocketServerUDPReturnCodes::CREATE_SOCKET_ERROR;
41 }
42
43 if (::bind (server_socket, (const struct sockaddr *)&server_addr, sizeof (server_addr)) != 0)
44 {
45 return (int)SocketServerUDPReturnCodes::BIND_ERROR;
46 }
47
48 // ensure that library will not hang in blocking recv/send call
49 DWORD timeout = 3000;
50 DWORD value = 1;
51 setsockopt (server_socket, SOL_SOCKET, SO_RCVTIMEO, (char *)&timeout, sizeof (timeout));
52 setsockopt (server_socket, SOL_SOCKET, SO_SNDTIMEO, (char *)&timeout, sizeof (timeout));
53
54 return (int)SocketServerUDPReturnCodes::STATUS_OK;
55}
56
57int SocketServerUDP::recv (void *data, int size)
58{

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected