Implement the UDP multicast support methods.

This commit is contained in:
Sönke Ludwig 2017-09-03 16:47:37 +02:00
parent 7e1d6a7323
commit 2d0576a5fe
No known key found for this signature in database
GPG key ID: D95E8DB493EE314C

View file

@ -790,7 +790,8 @@ struct UDPConnection {
*/ */
@property void multicastLoopback(bool loop) @property void multicastLoopback(bool loop)
{ {
assert(false, "not implemented."); enforce(eventDriver.sockets.setOption(m_socket, DatagramSocketOption.multicastLoopback, loop),
"Failed to set multicast loopback mode.");
} }
/** Become a member of an IP multicast group. /** Become a member of an IP multicast group.
@ -801,7 +802,9 @@ struct UDPConnection {
*/ */
void addMembership(ref NetworkAddress multiaddr) void addMembership(ref NetworkAddress multiaddr)
{ {
assert(false, "not implemented."); scope addr = new RefAddress(multiaddr.sockAddr, multiaddr.sockAddrMaxLen);
enforce(eventDriver.sockets.joinMulticastGroup(m_socket, addr),
"Failed to add multicast membership.");
} }
/** Stops listening for datagrams and frees all resources. /** Stops listening for datagrams and frees all resources.