6 #include <satcat5/udp_socket.h>
13 m_txbuff, SATCAT5_UDP_BUFFSIZE, SATCAT5_UDP_PACKETS,
14 m_rxbuff, SATCAT5_UDP_BUFFSIZE, SATCAT5_UDP_PACKETS)
22 m_rxbuff, SATCAT5_UDP_BUFFSIZE, SATCAT5_UDP_PACKETS)
29 m_txbuff, SATCAT5_UDP_BUFFSIZE, SATCAT5_UDP_PACKETS,
35 SocketCore::SocketCore(
37 u8* txbuff,
unsigned txbytes,
unsigned txpkt,
38 u8* rxbuff,
unsigned rxbytes,
unsigned rxpkt)
41 txbuff, txbytes, txpkt,
42 rxbuff, rxbytes, rxpkt)
60 if (srcport == satcat5::udp::PORT_NONE)
62 m_addr.
connect(dstaddr, dstmac, dstport, srcport, vtag);
76 if (srcport == satcat5::udp::PORT_NONE)
78 m_addr.
connect(dstaddr, dstport, srcport, vtag);
satcat5::net::Type m_filter
Incoming packet filter.
Inheritable container for a udp::Address.
void connect(const satcat5::udp::Addr &dstaddr, const satcat5::eth::MacAddr &dstmac, const satcat5::udp::Port &dstport, const satcat5::udp::Port &srcport=satcat5::udp::PORT_NONE, const satcat5::eth::VlanTag &vtag=satcat5::eth::VTAG_NONE)
Manual address resolution (user supplies IP + MAC).
void close() override
Close any open connections and revert to idle.
Dispatcher sorts incoming UDP messages by port index.
satcat5::udp::Port next_free_port()
Get the next unclaimed dynamically-allocated port index.
BufferedIO wrapper for two-way UDP communication.
void connect(const satcat5::udp::Addr &dstaddr, const satcat5::eth::MacAddr &dstmac, const satcat5::udp::Port &dstport, satcat5::udp::Port srcport=satcat5::udp::PORT_NONE, const satcat5::eth::VlanTag &vtag=satcat5::eth::VTAG_NONE)
Connect with manual address resolution.
void bind(const satcat5::udp::Port &port)
Listening mode only (no remote address).
Socket(satcat5::udp::Dispatch *iface)
Connect this Socket to a network interface.
SocketRx(satcat5::udp::Dispatch *iface)
Connect this Socket to a network interface.
SocketTx(satcat5::udp::Dispatch *iface)
Connect this Socket to a network interface.
An Ethernet MAC address (with serializable interface).
Header contents for an 802.1Q Virtual-LAN tag.
IPv4 address is a 32-bit unsigned integer.
UDP and TCP ports are both 16-bit unsigned integers.
u16 value
Raw access to the underlying representation.
Multipurpose filter for matching fields in network packets.