Merge branch 'fix-add-peer' into 'master'

Fix add peer

See merge request perdriau/dazibao!22
This commit is contained in:
PERDRIAU nelson 2020-05-06 17:01:01 +02:00
commit 6036eab1a3
2 changed files with 24 additions and 33 deletions

View File

@ -338,7 +338,7 @@ int update_neighbours() {
// from this peer then remove it from the list // from this peer then remove it from the list
time(&curtime); time(&curtime);
if(difftime(peer->last_seen, curtime) >= 70) { if(difftime(curtime, peer->last_seen) >= 70) {
// increase the count of deleted nodes // increase the count of deleted nodes
deleted++; deleted++;
@ -1395,6 +1395,7 @@ int bootstrap_node(int * sock_fd, char * root_peer_ip, uint16_t root_peer_port){
int rc = getaddrinfo(root_peer_ip, "http", &hints, &res); int rc = getaddrinfo(root_peer_ip, "http", &hints, &res);
if(rc != 0) { if(rc != 0) {
print_error("Failed to resolve hostname, exiting..."); print_error("Failed to resolve hostname, exiting...");
printf(gai_strerror(rc));
exit(1); exit(1);
} }
@ -1404,9 +1405,7 @@ int bootstrap_node(int * sock_fd, char * root_peer_ip, uint16_t root_peer_port){
// For every address given to us by getaddrinfo, we create a new peer. // For every address given to us by getaddrinfo, we create a new peer.
struct addrinfo *p; struct addrinfo *p;
struct neighbour_peer *peer ; struct neighbour_peer *peer ;
p = res;
list * tmp = neighbour_list;
for(p = res; p != NULL; p = p->ai_next) {
peer = (neighbour_peer*) malloc(sizeof(neighbour_peer)); peer = (neighbour_peer*) malloc(sizeof(neighbour_peer));
memcpy(&peer->ip, &((struct sockaddr_in6 *) p->ai_addr)->sin6_addr, sizeof(struct in6_addr)); memcpy(&peer->ip, &((struct sockaddr_in6 *) p->ai_addr)->sin6_addr, sizeof(struct in6_addr));
peer->port = root_peer_port; peer->port = root_peer_port;
@ -1426,16 +1425,9 @@ int bootstrap_node(int * sock_fd, char * root_peer_ip, uint16_t root_peer_port){
// Add new peer to the list. // Add new peer to the list.
list *node = (list*) malloc(sizeof(list)); list *node = (list*) malloc(sizeof(list));
node->data = (void*) peer; node->data = (void*) peer;
node->next = NULL; node->next = neighbour_list;
neighbour_list = node;
// Goint to the end of the list neighbour_list->next = NULL;
while(tmp->next != NULL){
tmp = tmp->next;
}
tmp->next = node;
}
neighbour_list = tmp;
print_peers(neighbour_list); print_peers(neighbour_list);

View File

@ -61,9 +61,8 @@ typedef struct list {
#define LISTEN_PORT 1212 #define LISTEN_PORT 1212
// The node ID // The node ID
#define NODE_ID 4209169790617845760 // #define NODE_ID 4209169790617845760
// #define NODE_ID 42675882021843277 #define NODE_ID 13386709784863621846
// #define NODE_ID 1312
// The number of neighbours // The number of neighbours
// The neighbour table has 15 entries // The neighbour table has 15 entries