Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
proton-c-0.17.0
-
None
Description
pn_proactor_connect and listen take a const char* string as the network address. This creates ambiguity about what the string means. URLs are complex to parse and construct and pn_url_t has been deprecated because it does not follow the URL standards well. Ad-hoc string formats like "host:port" are confusing since IPv6 host addresses can contains ":" characters.
Provide a simple pn_netaddr_t that can
- provide a unquoted, separate host and port strings to connect and listen
- inspect incoming addresses as standard struct sockaddr
- get a readable, but not parsable, string from any network address
- is extensible, in a binary compatible way, to support other address types for connect/listen in future
Note it is not a requirement (yet) to be able to connect/listen using an arbitrary sockaddr but it should be possible to add such support in future in a source and binary compatible way.