I'd like to use this library to program a device that uses BOOTP. BOOTP benefits greatly from the "which interface did this packet come from" aspect of the library, but uses broadcast packets instead of multicast. Specifically, you'd listen on all ports for a BOOTP request, then reply to the port it came from to start upload.
Before I start work, I'd like to check on the best way to implement
MulticastSocket::all_interfaces/with_options - Change the argument to an Option<>, or move it into the options struct with a default of "no group"? I don't think it's possible to avoid an API break, unless you'd prefer new all_interfaces_without_group or something
- Binding to a port - make it so this is the required argument instead?
MulticastSocket::send - split into send with an address and send_to_group, or keep send as-is and add send_to?
p.s. I hope you're not too bothered by all my activity! Basically, I have an unpublished crate similar to multicast-socket, but then I found yours which uses far fewer resources, doesn't need threads, works properly on Linux etc... So I'm slowly bringing across features so I can drop my terrible impl.
I'd like to use this library to program a device that uses BOOTP. BOOTP benefits greatly from the "which interface did this packet come from" aspect of the library, but uses broadcast packets instead of multicast. Specifically, you'd listen on all ports for a BOOTP request, then reply to the port it came from to start upload.
Before I start work, I'd like to check on the best way to implement
MulticastSocket::all_interfaces/with_options- Change the argument to anOption<>, or move it into the options struct with a default of "no group"? I don't think it's possible to avoid an API break, unless you'd prefer newall_interfaces_without_groupor somethingMulticastSocket::send- split intosendwith an address andsend_to_group, or keepsendas-is and addsend_to?p.s. I hope you're not too bothered by all my activity! Basically, I have an unpublished crate similar to multicast-socket, but then I found yours which uses far fewer resources, doesn't need threads, works properly on Linux etc... So I'm slowly bringing across features so I can drop my terrible impl.