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

Method init

src/utils/broadcast_server.cpp:38–71  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

36}
37
38int BroadCastServer::init ()
39{
40 WSADATA wsadata;
41 if (wsa_initialized)
42 {
43 return (int)BroadCastServerReturnCodes::SOCKET_ALREADY_CREATED_ERROR;
44 }
45 int res = WSAStartup (MAKEWORD (2, 2), &wsadata);
46 if (res != 0)
47 {
48 return (int)BroadCastServerReturnCodes::WSA_STARTUP_ERROR;
49 }
50 wsa_initialized = true;
51 socket_addr.sin_family = AF_INET;
52 socket_addr.sin_port = htons (port);
53 if (inet_pton (AF_INET, address, &socket_addr.sin_addr) == 0)
54 {
55 return (int)BroadCastServerReturnCodes::INIT_ERROR;
56 }
57 connect_socket = socket (AF_INET, SOCK_DGRAM, IPPROTO_UDP);
58 if (connect_socket == INVALID_SOCKET)
59 {
60 return (int)BroadCastServerReturnCodes::CREATE_SOCKET_ERROR;
61 }
62
63 // ensure that library will not hang in blocking recv/send call
64 DWORD timeout = 5000;
65 setsockopt (connect_socket, SOL_SOCKET, SO_RCVTIMEO, (char *)&timeout, sizeof (timeout));
66 setsockopt (connect_socket, SOL_SOCKET, SO_SNDTIMEO, (char *)&timeout, sizeof (timeout));
67 DWORD broadcast = 1;
68 setsockopt (connect_socket, SOL_SOCKET, SO_BROADCAST, (char *)&broadcast, sizeof (broadcast));
69
70 return (int)BroadCastServerReturnCodes::STATUS_OK;
71}
72
73int BroadCastServer::send (const char *data, int size)
74{

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected