MCPcopy Create free account
hub / github.com/Haivision/srt / TEST

Function TEST

test/test_socketdata.cpp:16–69  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

14using namespace srt;
15
16TEST(SocketData, PeerName)
17{
18 srt::TestInit srtinit;
19
20 // Single-threaded one-app connect/accept action
21
22 int csock = srt_create_socket();
23 int lsock = srt_create_socket();
24
25 bool rd_nonblocking = false;
26
27 srt_setsockflag(csock, SRTO_RCVSYN, &rd_nonblocking, sizeof (rd_nonblocking));
28 //srt_setsockflag(lsock, SRTO_RCVSYN, &rd_nonblocking, sizeof (rd_nonblocking));
29
30 sockaddr_any addr = srt::CreateAddr("127.0.0.1", 5000, AF_INET);
31
32 ASSERT_NE(srt_bind(lsock, addr.get(), addr.size()), -1);
33
34 ASSERT_NE(srt_listen(lsock, 5), -1);
35
36 ASSERT_NE(srt_connect(csock, addr.get(), addr.size()), -1);
37
38 sockaddr_any rev_addr;
39 int accepted_sock = srt_accept(lsock, rev_addr.get(), &rev_addr.len);
40
41 // Wait to make sure that the socket is connected.
42
43 int retry = 10;
44 while (srt_getsockstate(csock) != SRTS_CONNECTED && retry)
45 {
46 this_thread::sleep_for(milliseconds(500));
47 --retry;
48 }
49
50 ASSERT_NE(retry, 0);
51
52 // Now checkups
53 sockaddr_any peer_addr;
54 ASSERT_NE(srt_getpeername(csock, peer_addr.get(), &peer_addr.len), -1);
55 sockaddr_any my_addr;
56 ASSERT_NE(srt_getsockname(csock, my_addr.get(), &my_addr.len), -1);
57
58 cout << "Connect address: " << addr.str() << endl;
59 cout << "Peer address: " << peer_addr.str() << endl;
60 cout << "Accept address: " << rev_addr.str() << endl;
61 cout << "Caller address: " << my_addr.str() << endl;
62
63 EXPECT_EQ(peer_addr, addr);
64 EXPECT_EQ(my_addr, rev_addr);
65
66 srt_close(csock);
67 srt_close(accepted_sock);
68 srt_close(lsock);
69}

Callers

nothing calls this directly

Calls 15

srt_create_socketFunction · 0.85
srt_setsockflagFunction · 0.85
srt_bindFunction · 0.85
srt_listenFunction · 0.85
srt_connectFunction · 0.85
srt_acceptFunction · 0.85
srt_getsockstateFunction · 0.85
sleep_forFunction · 0.85
srt_getpeernameFunction · 0.85
srt_getsocknameFunction · 0.85
srt_closeFunction · 0.85
CreateAddrFunction · 0.70

Tested by

no test coverage detected