]> git.lizzy.rs Git - dragonnet.git/blob - peer.h
Add number (de)serialization
[dragonnet.git] / peer.h
1 #ifndef _DRAGONNET_PEER_H_
2 #define _DRAGONNET_PEER_H_
3
4 #include <pthread.h>
5
6 #include "addr.h"
7
8 typedef enum {
9         DRAGONNET_PEER_CREATED,
10         DRAGONNET_PEER_ACTIVE,
11         DRAGONNET_PEER_CLOSED
12 } DragonnetPeerState;
13
14 typedef struct {
15         int sock;
16         DragonnetAddr laddr, raddr;
17         DragonnetPeerState state;
18
19         pthread_rwlock_t mu;
20 } DragonnetPeer;
21
22 DragonnetPeer *dragonnet_connect(char *addr);
23 void dragonnet_peer_run(DragonnetPeer *p);
24 void dragonnet_peer_close(DragonnetPeer *p);
25 void dragonnet_peer_delete(DragonnetPeer *p);
26
27 #endif