net: socket system, high level api
[quarnos.git] / resources / net / udp_client_socket.h
blob0cc21d48c84cc49e9d52b630b970ef6ccfe1c3f8
1 #ifndef _UDP_CLIENT_SOCKET_H_
2 #define _UDP_CLIENT_SOCKET_H_
4 #include "client_socket.h"
5 #include "libs/fifo.h"
7 namespace net {
8 class udp_client_socket : public client_socket {
9 private:
10 int client_port;
12 int server_port;
13 ipv4_addr server;
15 fifo<buffer> incoming_data;
17 void receive(const ipv4_addr &addr, u16 sender_port, const buffer &data);
19 public:
20 udp_client_socket(p<transport_layer> tl);
21 ~udp_client_socket();
23 void connect(const ipv4_addr &addr, int port);
25 void write(const buffer &data);
26 void read(buffer &data);
28 void close();
32 #endif