net: socket system, high level api
[quarnos.git] / resources / net / udp_server_socket.h
blobbd40e0e8e3783e17a2e6573d4f6c80e0737df300
1 #ifndef _UDP_SERVER_SOCKET_
2 #define _UDP_SERVER_SOCKET_
4 #include "libs/fifo.h"
5 #include "libs/list.h"
6 #include "server_socket.h"
8 namespace net {
9 class udp_server_socket : public server_socket {
10 private:
11 int server_port;
13 fifo<p<remote_client_socket> > waiting_clients;
14 list<p<remote_client_socket> > clients;
16 void receive(const ipv4_addr &addr, u16 sender_port, const buffer &data);
18 public:
19 udp_server_socket(p<transport_layer> tl, int port);
21 p<remote_client_socket> accept();
22 void disconnect(p<remote_client_socket>);
26 #endif