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

Method init

src/utils/multicast_server.cpp:23–58  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

21}
22
23int MultiCastServer::init ()
24{
25 if (wsa_initialized)
26 {
27 return (int)MultiCastReturnCodes::SOCKET_ALREADY_CREATED_ERROR;
28 }
29 WSADATA wsadata;
30 int res = WSAStartup (MAKEWORD (2, 2), &wsadata);
31 if (res != 0)
32 {
33 return (int)MultiCastReturnCodes::WSA_STARTUP_ERROR;
34 }
35 wsa_initialized = true;
36 server_addr.sin_family = AF_INET;
37 server_addr.sin_port = htons (local_port);
38 if (inet_pton (AF_INET, local_ip, &server_addr.sin_addr) == 0)
39 {
40 return (int)MultiCastReturnCodes::PTON_ERROR;
41 }
42 server_socket = socket (AF_INET, SOCK_DGRAM, IPPROTO_UDP);
43 if (server_socket == INVALID_SOCKET)
44 {
45 return (int)MultiCastReturnCodes::CREATE_SOCKET_ERROR;
46 }
47
48 // ensure that library will not hang in blocking recv/send call
49 DWORD timeout = 5000;
50 DWORD value = 1;
51 DWORD buf_size = 65000;
52 setsockopt (server_socket, SOL_SOCKET, SO_REUSEADDR, (char *)&value, sizeof (value));
53 setsockopt (server_socket, SOL_SOCKET, SO_RCVTIMEO, (char *)&timeout, sizeof (timeout));
54 setsockopt (server_socket, SOL_SOCKET, SO_SNDTIMEO, (char *)&timeout, sizeof (timeout));
55 setsockopt (server_socket, SOL_SOCKET, SO_SNDBUF, (const char *)&buf_size, sizeof (buf_size));
56
57 return (int)MultiCastReturnCodes::STATUS_OK;
58}
59
60int MultiCastServer::send (void *data, int size)
61{

Callers 4

prepare_sessionMethod · 0.45
init_streamerMethod · 0.45
create_adv_connectionMethod · 0.45
prepare_sessionMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected