public interface IDatagramSocketA thing that sends and receives datagrams.
No guide page documents this yet — the page shows what the code says about itself.
Remarks
The seam between the reliability layer and the operating system, and the reason it exists is testing. Everything interesting about this transport — sequencing, retransmission, reassembly, the four channels' different promises — is logic, and logic tested against a real socket is logic tested against a scheduler. Over an in-memory bus the same code is a pure function of the calls made to it, which is the property the rest of this stack is built on.
It is deliberately thin: bind, send, try-receive. Anything smarter would be logic that only runs in production, which is the thing the seam exists to avoid.
Fields and properties (1)
EndPoint? LocalEndPointWhere this socket is, once it is bound.
Methods (2)
void SendTo(ReadOnlySpan<byte> payload, EndPoint destination)Sends one datagram.
bool TryReceiveFrom(Span<byte> buffer, out EndPoint from, out int length)Takes one datagram, if one is waiting.
Used by (9)
- BusSocketVixen.Net.Transport.Udp.Tests
- DatagramBusVixen.Net.Transport.Udp.Tests
- FuzzSocketVixen.Net.Fuzz
- FuzzSocketFactoryVixen.Net.Fuzz
- IDatagramSocketFactoryVixen.Net.Transport.Udp
- UdpDatagramSocketVixen.Net.Transport.Udp
- UdpDatagramSocketFactoryVixen.Net.Transport.Udp
- UdpReliabilityTestsVixen.Net.Transport.Udp.Tests
- UdpTransportVixen.Net.Transport.Udp