|
| | UdpTransport () |
| |
| | ~UdpTransport () |
| |
| int | Create (Type type, const char *addr, uint16_t port) |
| |
| void | Close () |
| |
| virtual int | Send (xostringstream &os, const DmqHeader &header) override |
| |
| virtual int | Receive (xstringstream &is, DmqHeader &header) override |
| |
| void | SetTransportMonitor (ITransportMonitor *transportMonitor) |
| |
| void | SetSendTransport (ITransport *sendTransport) |
| |
| void | SetRecvTransport (ITransport *recvTransport) |
| |
| | UdpTransport () |
| |
| | ~UdpTransport () |
| |
| int | Create (Type type, const char *addr, uint16_t port) |
| |
| void | Close () |
| |
| virtual int | Send (xostringstream &os, const DmqHeader &header) override |
| |
| virtual int | Receive (xstringstream &is, DmqHeader &header) override |
| |
| void | SetTransportMonitor (ITransportMonitor *transportMonitor) |
| |
| void | SetSendTransport (ITransport *sendTransport) |
| |
| void | SetRecvTransport (ITransport *recvTransport) |
| |
| | UdpTransport () |
| |
| | ~UdpTransport () |
| |
| int | Create (Type type, LPCSTR addr, USHORT port) |
| |
| void | Close () |
| |
| virtual int | Send (xostringstream &os, const DmqHeader &header) override |
| |
| virtual int | Receive (xstringstream &is, DmqHeader &header) override |
| |
| void | SetTransportMonitor (ITransportMonitor *transportMonitor) |
| |
| void | SetSendTransport (ITransport *sendTransport) |
| |
| void | SetRecvTransport (ITransport *recvTransport) |
| |
Win32 UDP transport implementation for DelegateMQ.
- See also
- https://github.com/endurodave/DelegateMQ David Lafreniere, 2025.
This class implements the ITransport interface using Windows Sockets (Winsock2) for connectionless UDP communication. It supports two modes: PUB (Publisher/Sender) and SUB (Subscriber/Receiver).
Key Features:
- Message Oriented: Transmits discrete packets containing serialized delegate arguments and framing headers.
- Reliability Support: Integrates with
TransportMonitor to track outgoing sequence numbers and process incoming ACKs to detect packet loss.
- Socket Management: Use WinsockConnect class in main() for
WSAStartup and socket creation/cleanup.
- Note
- This implementation uses blocking sockets with timeouts (
SO_RCVTIMEO) to prevent indefinite blocking during receive operations.
Win32 UDP transport example.