|
|
@ -34,6 +34,9 @@ typedef struct { ot_ip6 address; int bits; } |
|
|
|
#define PEERS_BENCODED "5:peers" |
|
|
|
#define PEERS_BENCODED "5:peers" |
|
|
|
#define OT_MAX_PEERS_UDP 200 |
|
|
|
#define OT_MAX_PEERS_UDP 200 |
|
|
|
#endif |
|
|
|
#endif |
|
|
|
|
|
|
|
#define OT_PORT_SIZE 2 |
|
|
|
|
|
|
|
#define OT_FLAG_SIZE 1 |
|
|
|
|
|
|
|
#define OT_TIME_SIZE 1 |
|
|
|
|
|
|
|
|
|
|
|
/* Some tracker behaviour tunable */ |
|
|
|
/* Some tracker behaviour tunable */ |
|
|
|
#define OT_CLIENT_TIMEOUT 30 |
|
|
|
#define OT_CLIENT_TIMEOUT 30 |
|
|
@ -75,7 +78,9 @@ extern volatile int g_opentracker_running; |
|
|
|
extern uint32_t g_tracker_id; |
|
|
|
extern uint32_t g_tracker_id; |
|
|
|
typedef enum { FLAG_TCP, FLAG_UDP, FLAG_MCA, FLAG_SELFPIPE } PROTO_FLAG; |
|
|
|
typedef enum { FLAG_TCP, FLAG_UDP, FLAG_MCA, FLAG_SELFPIPE } PROTO_FLAG; |
|
|
|
|
|
|
|
|
|
|
|
typedef uint8_t ot_peer[OT_IP_SIZE+2+2]; |
|
|
|
#define OT_PEER_COMPARE_SIZE ((OT_IP_SIZE)+(OT_PORT_SIZE)) |
|
|
|
|
|
|
|
#define OT_PEER_SIZE ((OT_TIME_SIZE)+(OT_FLAG_SIZE)+(OT_PEER_COMPARE_SIZE)) |
|
|
|
|
|
|
|
typedef uint8_t ot_peer[OT_PEER_SIZE]; |
|
|
|
static const uint8_t PEER_FLAG_SEEDING = 0x80; |
|
|
|
static const uint8_t PEER_FLAG_SEEDING = 0x80; |
|
|
|
static const uint8_t PEER_FLAG_COMPLETED = 0x40; |
|
|
|
static const uint8_t PEER_FLAG_COMPLETED = 0x40; |
|
|
|
static const uint8_t PEER_FLAG_STOPPED = 0x20; |
|
|
|
static const uint8_t PEER_FLAG_STOPPED = 0x20; |
|
|
@ -92,7 +97,6 @@ static const uint8_t PEER_FLAG_LEECHING = 0x00; |
|
|
|
#define OT_PEERTIME(peer) (((uint8_t*)(peer))[(OT_IP_SIZE)+3]) |
|
|
|
#define OT_PEERTIME(peer) (((uint8_t*)(peer))[(OT_IP_SIZE)+3]) |
|
|
|
|
|
|
|
|
|
|
|
#define OT_HASH_COMPARE_SIZE (sizeof(ot_hash)) |
|
|
|
#define OT_HASH_COMPARE_SIZE (sizeof(ot_hash)) |
|
|
|
#define OT_PEER_COMPARE_SIZE ((OT_IP_SIZE)+2) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
struct ot_peerlist; |
|
|
|
struct ot_peerlist; |
|
|
|
typedef struct ot_peerlist ot_peerlist; |
|
|
|
typedef struct ot_peerlist ot_peerlist; |
|
|
|