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

Method init

src/utils/broadcast_client.cpp:23–57  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

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

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected