mirror of
https://github.com/neocturne/fastd.git
synced 2025-05-15 12:45:09 +02:00
Remove vector of new temporary peers
The new poll code has made this second peer list obsolete.
This commit is contained in:
parent
175685ed5f
commit
505f97771a
5 changed files with 29 additions and 58 deletions
12
src/fastd.c
12
src/fastd.c
|
@ -476,14 +476,6 @@ static void handle_handshake_queue(void) {
|
||||||
fastd_resolve_peer(peer, peer->next_remote);
|
fastd_resolve_peer(peer, peer->next_remote);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void enable_temporaries(void) {
|
|
||||||
size_t i;
|
|
||||||
for (i = 0; i < VECTOR_LEN(ctx.peers_temp); i++)
|
|
||||||
fastd_peer_enable_temporary(VECTOR_INDEX(ctx.peers_temp, i));
|
|
||||||
|
|
||||||
VECTOR_RESIZE(ctx.peers_temp, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
static bool maintain_peer(fastd_peer_t *peer) {
|
static bool maintain_peer(fastd_peer_t *peer) {
|
||||||
if (fastd_peer_is_temporary(peer) || fastd_peer_is_established(peer)) {
|
if (fastd_peer_is_temporary(peer) || fastd_peer_is_established(peer)) {
|
||||||
/* check for peer timeout */
|
/* check for peer timeout */
|
||||||
|
@ -854,7 +846,6 @@ int main(int argc, char *argv[]) {
|
||||||
|
|
||||||
VECTOR_ALLOC(ctx.eth_addrs, 0);
|
VECTOR_ALLOC(ctx.eth_addrs, 0);
|
||||||
VECTOR_ALLOC(ctx.peers, 0);
|
VECTOR_ALLOC(ctx.peers, 0);
|
||||||
VECTOR_ALLOC(ctx.peers_temp, 0);
|
|
||||||
|
|
||||||
fastd_peer_hashtable_init();
|
fastd_peer_hashtable_init();
|
||||||
|
|
||||||
|
@ -865,8 +856,6 @@ int main(int argc, char *argv[]) {
|
||||||
|
|
||||||
fastd_poll_handle();
|
fastd_poll_handle();
|
||||||
|
|
||||||
enable_temporaries();
|
|
||||||
|
|
||||||
if (fastd_timed_out(&ctx.next_maintenance))
|
if (fastd_timed_out(&ctx.next_maintenance))
|
||||||
maintenance();
|
maintenance();
|
||||||
|
|
||||||
|
@ -907,7 +896,6 @@ int main(int argc, char *argv[]) {
|
||||||
|
|
||||||
fastd_peer_hashtable_free();
|
fastd_peer_hashtable_free();
|
||||||
|
|
||||||
VECTOR_FREE(ctx.peers_temp);
|
|
||||||
VECTOR_FREE(ctx.peers);
|
VECTOR_FREE(ctx.peers);
|
||||||
VECTOR_FREE(ctx.eth_addrs);
|
VECTOR_FREE(ctx.eth_addrs);
|
||||||
|
|
||||||
|
|
|
@ -239,7 +239,6 @@ struct fastd_context {
|
||||||
fastd_peer_group_t *peer_group;
|
fastd_peer_group_t *peer_group;
|
||||||
|
|
||||||
VECTOR(fastd_peer_t*) peers;
|
VECTOR(fastd_peer_t*) peers;
|
||||||
VECTOR(fastd_peer_t*) peers_temp;
|
|
||||||
|
|
||||||
#ifdef USE_EPOLL
|
#ifdef USE_EPOLL
|
||||||
int epoll_fd;
|
int epoll_fd;
|
||||||
|
|
39
src/peer.c
39
src/peer.c
|
@ -267,15 +267,6 @@ static void delete_peer(fastd_peer_t *peer) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i == VECTOR_LEN(ctx.peers)) {
|
|
||||||
for (i = 0; i < VECTOR_LEN(ctx.peers_temp); i++) {
|
|
||||||
if (VECTOR_INDEX(ctx.peers_temp, i) == peer) {
|
|
||||||
VECTOR_DELETE(ctx.peers_temp, i);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
fastd_peer_hashtable_remove(peer);
|
fastd_peer_hashtable_remove(peer);
|
||||||
|
|
||||||
conf.protocol->free_peer_state(peer);
|
conf.protocol->free_peer_state(peer);
|
||||||
|
@ -557,6 +548,7 @@ bool fastd_peer_may_connect(fastd_peer_t *peer) {
|
||||||
fastd_peer_t* fastd_peer_add(fastd_peer_config_t *peer_conf) {
|
fastd_peer_t* fastd_peer_add(fastd_peer_config_t *peer_conf) {
|
||||||
fastd_peer_t *peer = calloc(1, sizeof(fastd_peer_t));
|
fastd_peer_t *peer = calloc(1, sizeof(fastd_peer_t));
|
||||||
|
|
||||||
|
if (peer_conf) {
|
||||||
peer->config = peer_conf;
|
peer->config = peer_conf;
|
||||||
peer->group = find_peer_group(ctx.peer_group, peer_conf->group);
|
peer->group = find_peer_group(ctx.peer_group, peer_conf->group);
|
||||||
peer->protocol_config = peer_conf->protocol_config;
|
peer->protocol_config = peer_conf->protocol_config;
|
||||||
|
@ -580,6 +572,17 @@ fastd_peer_t* fastd_peer_add(fastd_peer_config_t *peer_conf) {
|
||||||
}
|
}
|
||||||
|
|
||||||
pr_verbose("adding peer %P (group `%s')", peer, peer->group->conf->name);
|
pr_verbose("adding peer %P (group `%s')", peer, peer->group->conf->name);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (!fastd_shell_command_isset(&conf.on_verify))
|
||||||
|
exit_bug("tried to add temporary peer without on-verify command");
|
||||||
|
|
||||||
|
peer->group = ctx.peer_group;
|
||||||
|
|
||||||
|
fastd_peer_seen(peer);
|
||||||
|
|
||||||
|
pr_debug("adding temporary peer");
|
||||||
|
}
|
||||||
|
|
||||||
setup_peer(peer);
|
setup_peer(peer);
|
||||||
|
|
||||||
|
@ -589,24 +592,6 @@ fastd_peer_t* fastd_peer_add(fastd_peer_config_t *peer_conf) {
|
||||||
return peer;
|
return peer;
|
||||||
}
|
}
|
||||||
|
|
||||||
fastd_peer_t* fastd_peer_add_temporary(void) {
|
|
||||||
if (!fastd_shell_command_isset(&conf.on_verify))
|
|
||||||
exit_bug("tried to add temporary peer without on-verify command");
|
|
||||||
|
|
||||||
fastd_peer_t *peer = calloc(1, sizeof(fastd_peer_t));
|
|
||||||
|
|
||||||
peer->group = ctx.peer_group;
|
|
||||||
fastd_peer_seen(peer);
|
|
||||||
|
|
||||||
pr_debug("adding temporary peer");
|
|
||||||
|
|
||||||
setup_peer(peer);
|
|
||||||
|
|
||||||
VECTOR_ADD(ctx.peers_temp, peer);
|
|
||||||
|
|
||||||
return peer;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool fastd_peer_verify_temporary(fastd_peer_t *peer, const fastd_peer_address_t *local_addr, const fastd_peer_address_t *peer_addr) {
|
bool fastd_peer_verify_temporary(fastd_peer_t *peer, const fastd_peer_address_t *local_addr, const fastd_peer_address_t *peer_addr) {
|
||||||
if (!fastd_shell_command_isset(&conf.on_verify))
|
if (!fastd_shell_command_isset(&conf.on_verify))
|
||||||
exit_bug("tried to verify temporary peer without on-verify command");
|
exit_bug("tried to verify temporary peer without on-verify command");
|
||||||
|
|
|
@ -131,7 +131,6 @@ bool fastd_peer_config_equal(const fastd_peer_config_t *peer1, const fastd_peer_
|
||||||
void fastd_peer_reset(fastd_peer_t *peer);
|
void fastd_peer_reset(fastd_peer_t *peer);
|
||||||
void fastd_peer_delete(fastd_peer_t *peer);
|
void fastd_peer_delete(fastd_peer_t *peer);
|
||||||
fastd_peer_t* fastd_peer_add(fastd_peer_config_t *peer_conf);
|
fastd_peer_t* fastd_peer_add(fastd_peer_config_t *peer_conf);
|
||||||
fastd_peer_t* fastd_peer_add_temporary(void);
|
|
||||||
bool fastd_peer_verify_temporary(fastd_peer_t *peer, const fastd_peer_address_t *local_addr, const fastd_peer_address_t *peer_addr);
|
bool fastd_peer_verify_temporary(fastd_peer_t *peer, const fastd_peer_address_t *local_addr, const fastd_peer_address_t *peer_addr);
|
||||||
void fastd_peer_enable_temporary(fastd_peer_t *peer);
|
void fastd_peer_enable_temporary(fastd_peer_t *peer);
|
||||||
void fastd_peer_set_established(fastd_peer_t *peer);
|
void fastd_peer_set_established(fastd_peer_t *peer);
|
||||||
|
|
|
@ -499,7 +499,7 @@ static inline fastd_peer_t* add_temporary(const fastd_peer_address_t *addr, cons
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
fastd_peer_t *peer = fastd_peer_add_temporary();
|
fastd_peer_t *peer = fastd_peer_add(NULL);
|
||||||
|
|
||||||
peer->protocol_config = malloc(sizeof(fastd_protocol_peer_config_t));
|
peer->protocol_config = malloc(sizeof(fastd_protocol_peer_config_t));
|
||||||
memcpy(&peer->protocol_config->public_key, key, PUBLICKEYBYTES);
|
memcpy(&peer->protocol_config->public_key, key, PUBLICKEYBYTES);
|
||||||
|
|
Loading…
Add table
Reference in a new issue