/// Each port corresponds to a single address, and a protocol that can be spoken at this address.
/// If the address accepts multiple protocols, there will be multiple [`Port`] entries in the [`PortInfo`],
fn serialize_address<S: Serializer>(addr: &general::SocketAddr, ser: S) -> Result<S::Ok, S::Error> {