public static void Write(this NetBuffer writer, PeerEndpoint endpoint) { var hasInternalAddress = endpoint.Internal.HasValue; writer.Write(hasInternalAddress); if (hasInternalAddress) { writer.Write(endpoint.Internal.Value); } writer.Write(endpoint.External); }
public static PeerEndpoint ReadPeerEndpoint(this NetBuffer reader) { var hasInternalAddress = reader.ReadBoolean(); PeerEndpoint endpoint; if (hasInternalAddress) { endpoint = new PeerEndpoint(reader.ReadIpv4Endpoint(), reader.ReadIpv4Endpoint()); } else { endpoint = new PeerEndpoint(reader.ReadIpv4Endpoint()); } return(endpoint); }