1 #ifndef _DRAGONNET_PEER_H_
2 #define _DRAGONNET_PEER_H_
5 #include <dragontype/number.h>
6 #include <dragonnet/addr.h>
9 DRAGONNET_PEER_CREATED,
10 DRAGONNET_PEER_ACTIVE,
14 typedef struct dragonnet_peer {
16 DragonnetAddr laddr, raddr;
17 DragonnetPeerState state;
18 pthread_t recv_thread;
20 void (**on_recv_type)(struct dragonnet_peer *, void *);
25 DragonnetPeer *dragonnet_connect(char *addr);
26 void dragonnet_peer_set_recv_hook(DragonnetPeer *p, u16 type_id,
27 void (*on_recv)(struct dragonnet_peer *, void *));
28 void dragonnet_peer_run(DragonnetPeer *p);
29 void dragonnet_peer_close(DragonnetPeer *p);
30 void dragonnet_peer_delete(DragonnetPeer *p);