12 #ifndef ROC_NETIO_UDP_SENDER_PORT_H_
13 #define ROC_NETIO_UDP_SENDER_PORT_H_
34 uv_loop_t& event_loop,
55 static void close_cb_(uv_handle_t* handle);
56 static void write_sem_cb_(uv_async_t* handle);
57 static void send_cb_(uv_udp_send_t* req,
int status);
66 uv_async_t write_sem_;
67 bool write_sem_initialized_;
70 bool handle_initialized_;
81 unsigned packet_counter_;
Memory allocator interface.
Intrusive doubly-linked list.
virtual void async_close()
Asynchronously close sender.
virtual bool open()
Open sender.
virtual const packet::Address & address() const
Get bind address.
virtual void write(const packet::PacketPtr &)
Write packet.
UDPSenderPort(ICloseHandler &close_handler, const packet::Address &, uv_loop_t &event_loop, core::IAllocator &allocator)
Initialize.
Memory allocator interface.
Base class for reference countable objects.