28 #ifndef AsyncComm_IOHandlerDatagram_h
29 #define AsyncComm_IOHandlerDatagram_h
111 #if defined(__APPLE__) || defined(__FreeBSD__)
134 #elif defined(__linux__)
157 #elif defined(__sun__)
197 typedef std::pair<struct sockaddr_in, CommBufPtr>
SendRec;
208 #endif // AsyncComm_IOHandlerDatagram_h
int handle_write_readiness()
Handles write readiness.
int send_message(const InetAddr &addr, CommBufPtr &cbp)
Sends a message.
I/O handler for datagram (UDP) sockets.
chrono::time_point< fast_clock > time_point
int flush_send_queue()
Flushes send queue.
uint8_t * m_message
Message receive buffer.
virtual ~IOHandlerDatagram()
Destructor.
IOHandlerDatagram(int sd, const DispatchHandlerPtr &dhp, Reactor::Priority rp)
Constructor.
Encapsulate an internet address.
std::shared_ptr< CommBuf > CommBufPtr
Smart pointer to CommBuf.
Base class for socket descriptor I/O handlers.
std::list< SendRec > m_send_queue
Send queue.
Declarations for CommBuf.
Priority
Enumeration for reactor priority.
std::shared_ptr< DispatchHandler > DispatchHandlerPtr
Smart pointer to DispatchHandler.
std::pair< struct sockaddr_in, CommBufPtr > SendRec
Send queue message record.
bool handle_event(struct pollfd *event, ClockT::time_point arrival_time) override
Handle poll() interface events.
InetAddr m_addr
Handler socket address.
Declarations for IOHandler.
InetAddr m_local_addr
Local address of connection.