24 public byte this[
int offset]
28 if (offset < 0 || offset >=
Size)
36 if (offset < 0 || offset >=
Size)
71 uint address = (uint)ipAddress.
Address;
124 public override bool Equals(
object comparand)
130 for (
int i = 0; i <
Size; i++)
132 if (
this[i] != socketAddress[i])
148 for (i = 0; i < num; i += 4)
152 if (((uint)
Size & 3u) != 0)
156 for (; i <
Size; i++)
158 num2 |=
Buffer[i] << num3;
170 int num = text.Length + 1 + 10 + 2 + (
Size - 2) * 4 + 1;
181 for (
int i = 2; i <
Size; i++)
static int ReadInt32LittleEndian(ReadOnlySpan< byte > source)
bool TryWriteBytes(Span< byte > destination, out int bytesWritten)
AddressFamily AddressFamily
static readonly int IPv4AddressSize
IPEndPoint GetIPEndPoint()
int GetAddressSizeOffset()
override string ToString()
override bool Equals(object comparand)
void CopyAddressSizeIntoBuffer()
SocketAddress(AddressFamily addressFamily, ReadOnlySpan< byte > buffer)
SocketAddress(AddressFamily family, int size)
SocketAddress(IPAddress ipAddress)
override int GetHashCode()
static readonly int IPv6AddressSize
SocketAddress(IPAddress ipaddress, int port)
static uint GetIPv4Address(ReadOnlySpan< byte > buffer)
static void SetIPv6Address(byte[] buffer, Span< byte > address, uint scope)
static void SetAddressFamily(byte[] buffer, AddressFamily family)
static void SetPort(byte[] buffer, ushort port)
static ushort GetPort(ReadOnlySpan< byte > buffer)
static void SetIPv4Address(byte[] buffer, uint address)
static void GetIPv6Address(ReadOnlySpan< byte > buffer, Span< byte > address, out uint scope)
static AddressFamily GetAddressFamily(ReadOnlySpan< byte > buffer)
void CopyTo(Span< T > destination)