[zeromq-dev] PGM and sending interface

Jim Hague jim.hague at acm.org
Thu Jan 7 13:42:53 CET 2016


On Wednesday 06 Jan 2016 09:18:00 Steven McCoy wrote:
> The direction appears to take the address from pgm_getaddrinfo() and place
> into a new member variable of pgm_interface_req_t:
> 
> struct pgm_interface_req_t {
>   uint32_t ir_interface; struct sockaddr_storage ir_address;  uint32_t
> ir_scope_id;
> }; Although now with the address the explicit scope identifier is not
> required, thus it simply becomes: struct pgm_interface_req_t {
>   uint32_t ir_interface; struct sockaddr_storage ir_address;};

If ir_address is present, is ir_interface required? Could it be removed as 
well? Removing either will break the existing API - how do you feel about 
that?

I am wondering about keeping scope_id and if ir_address is zero, use it and 
ir_interface as at present. Existing client code won't have to change in that 
case, unless they need correct behaviour in the presence of aliases.

>  Using the alias index is going to be subject to race conditions when
>  interfaces change and I'd rather try to avoid that.

I guess using ir_address instead of ir_interface also removes a race when 
interfaces are added or removed.
-- 
Jim Hague - jim.hague at acm.org          Never trust a computer you can't lift.




More information about the zeromq-dev mailing list