MCPcopy Create free account
hub / github.com/boostorg/asio / test

Function test

test/ip/multicast.cpp:32–95  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

30namespace ip_multicast_compile {
31
32void test()
33{
34 using namespace boost::asio;
35 namespace ip = boost::asio::ip;
36
37 try
38 {
39 io_context ioc;
40 ip::udp::socket sock(ioc);
41 const ip::address address;
42 const ip::address_v4 address_v4;
43 const ip::address_v6 address_v6;
44
45 // join_group class.
46
47 ip::multicast::join_group join_group1;
48 ip::multicast::join_group join_group2(address);
49 ip::multicast::join_group join_group3(address_v4);
50 ip::multicast::join_group join_group4(address_v4, address_v4);
51 ip::multicast::join_group join_group5(address_v6);
52 ip::multicast::join_group join_group6(address_v6, 1);
53 sock.set_option(join_group6);
54
55 // leave_group class.
56
57 ip::multicast::leave_group leave_group1;
58 ip::multicast::leave_group leave_group2(address);
59 ip::multicast::leave_group leave_group3(address_v4);
60 ip::multicast::leave_group leave_group4(address_v4, address_v4);
61 ip::multicast::leave_group leave_group5(address_v6);
62 ip::multicast::leave_group leave_group6(address_v6, 1);
63 sock.set_option(leave_group6);
64
65 // outbound_interface class.
66
67 ip::multicast::outbound_interface outbound_interface1;
68 ip::multicast::outbound_interface outbound_interface2(address_v4);
69 ip::multicast::outbound_interface outbound_interface3(1);
70 sock.set_option(outbound_interface3);
71
72 // hops class.
73
74 ip::multicast::hops hops1(1024);
75 sock.set_option(hops1);
76 ip::multicast::hops hops2;
77 sock.get_option(hops2);
78 hops1 = 1;
79 (void)static_cast<int>(hops1.value());
80
81 // enable_loopback class.
82
83 ip::multicast::enable_loopback enable_loopback1(true);
84 sock.set_option(enable_loopback1);
85 ip::multicast::enable_loopback enable_loopback2;
86 sock.get_option(enable_loopback2);
87 enable_loopback1 = true;
88 (void)static_cast<bool>(enable_loopback1);
89 (void)static_cast<bool>(!enable_loopback1);

Callers

nothing calls this directly

Calls 6

set_optionMethod · 0.45
get_optionMethod · 0.45
valueMethod · 0.45
openMethod · 0.45
protocolMethod · 0.45
bindMethod · 0.45

Tested by

no test coverage detected