4 #include "transport_layer.h"
8 class udp
: public transport_layer
{
10 struct pseudo_header
{
16 } __attribute__((packed
));
23 } __attribute__((packed
));
26 list
<delegate
<void, const ipv4_addr
&, u16
, const buffer
&> > listeners
;
28 void receive(const ipv4_addr
&, const buffer
&);
30 void set_internet_layer(p
<internet_layer
> x
) {
32 down
->listen(17, delegate
<void, const ipv4_addr
&, const buffer
&>::method(this, &udp::receive
));
35 void send(ipv4_addr
, u16
, u16
, const buffer
&);
36 void listen(u16
, delegate
<void, const ipv4_addr
&, u16
, const buffer
&>);