UDP Interface Handler must implement UDPSocketEvents.
More...
#include <UDP.h>
template<typename Handler, unsigned MaxDatagramSize>
class dev::p2p::UDPSocket< Handler, MaxDatagramSize >
UDP Interface Handler must implement UDPSocketEvents.
- Todo:
multiple endpoints (we cannot advertise 0.0.0.0)
decouple deque from UDPDatagram and add ref() to datagram for fire&forget
◆ anonymous enum
template<typename Handler , unsigned MaxDatagramSize>
Enumerator |
---|
maxDatagramSize | |
◆ UDPSocket() [1/2]
template<typename Handler , unsigned MaxDatagramSize>
Create socket for specific endpoint.
◆ UDPSocket() [2/2]
template<typename Handler , unsigned MaxDatagramSize>
Create socket which listens to all ports.
◆ ~UDPSocket()
template<typename Handler , unsigned MaxDatagramSize>
◆ connect()
template<typename Handler , unsigned MaxDatagramSize>
Socket will begin listening for and delivering packets.
◆ disconnect()
template<typename Handler , unsigned MaxDatagramSize>
◆ disconnectWithError()
template<typename Handler , unsigned MaxDatagramSize>
void dev::p2p::UDPSocket< Handler, MaxDatagramSize >::disconnectWithError |
( |
boost::system::error_code |
_ec | ) |
|
|
protected |
◆ doRead()
template<typename Handler , unsigned MaxDatagramSize>
◆ doWrite()
template<typename Handler , unsigned MaxDatagramSize>
◆ isOpen()
template<typename Handler , unsigned MaxDatagramSize>
Returns if socket is open.
◆ send()
template<typename Handler , unsigned MaxDatagramSize>
◆ m_closed
template<typename Handler , unsigned MaxDatagramSize>
◆ m_endpoint
template<typename Handler , unsigned MaxDatagramSize>
Endpoint which we listen to.
◆ m_host
template<typename Handler , unsigned MaxDatagramSize>
Interface which owns this socket.
◆ m_recvData
template<typename Handler , unsigned MaxDatagramSize>
◆ m_recvEndpoint
template<typename Handler , unsigned MaxDatagramSize>
Endpoint data was received from.
◆ m_sendQ
template<typename Handler , unsigned MaxDatagramSize>
◆ m_socket
template<typename Handler , unsigned MaxDatagramSize>
◆ m_socketError
template<typename Handler , unsigned MaxDatagramSize>
Set when shut down due to error.
◆ m_started
template<typename Handler , unsigned MaxDatagramSize>
Atomically ensure connection is started once. Start cannot occur unless m_started is false. Managed by start and disconnectWithError.
◆ strand_
template<typename Handler , unsigned MaxDatagramSize>
ba::strand<ba::io_context::executor_type>& dev::p2p::UDPSocket< Handler, MaxDatagramSize >::strand_ |
|
protected |
◆ x_sendQ
template<typename Handler , unsigned MaxDatagramSize>
◆ x_socketError
template<typename Handler , unsigned MaxDatagramSize>
Mutex for error which can be set from host or IO thread.
The documentation for this class was generated from the following file:
- libraries/aleth/libp2p/UDP.h