netstack3_ip::device

Function leave_ip_multicast

Source
pub fn leave_ip_multicast<I: IpDeviceIpExt, BC: IpDeviceBindingsContext<I, CC::DeviceId>, CC: IpDeviceConfigurationContext<I, BC>>(
    core_ctx: &mut CC,
    bindings_ctx: &mut BC,
    device_id: &CC::DeviceId,
    multicast_addr: MulticastAddr<I::Addr>,
)
Expand description

Removes device_id from a multicast group multicast_addr.

leave_ip_multicast will attempt to remove device_id from a multicast group multicast_addr. device_id may have “joined” the same multicast address multiple times, so device_id will only leave the multicast group once leave_ip_multicast has been called for each corresponding join_ip_multicast. That is, if join_ip_multicast gets called 3 times and leave_ip_multicast gets called two times (after all 3 join_ip_multicast calls), device_id will still be in the multicast group until the next (final) call to leave_ip_multicast.

§Panics

If device_id is not currently in the multicast group multicast_addr.