From 13b8b8bf27a116a6024459fe4c28817d497dc20a Mon Sep 17 00:00:00 2001 From: Jose Marcial Vieira Bisneto Date: Thu, 6 Jul 2017 23:51:53 -0300 Subject: [PATCH] Null routing code reallocated to facilitate routing protocol swap. --- core/daemon.c | 4 ++-- include/ipfs/core/daemon.h | 3 --- include/ipfs/core/null.h | 6 ++++++ include/ipfs/routing/routing.h | 2 ++ routing/online.c | 3 +++ 5 files changed, 13 insertions(+), 5 deletions(-) create mode 100644 include/ipfs/core/null.h diff --git a/core/daemon.c b/core/daemon.c index 3d3e43c..eeb6cf4 100644 --- a/core/daemon.c +++ b/core/daemon.c @@ -31,12 +31,12 @@ int ipfs_daemon_start(char* repo_path) { listen_param.local_node = local_node; // Create pthread for swarm listener. - if (pthread_create(&work_pths[count_pths++], NULL, ipfs_null_listen, &listen_param)) { + if (pthread_create(&work_pths[count_pths++], NULL, local_node->routing->Listen, &listen_param)) { libp2p_logger_error("daemon", "Error creating thread for ipfs null listen\n"); goto exit; } - //ipfs_bootstrap_routing(local_node); + local_node->routing->Bootstrap (local_node->routing); libp2p_logger_info("daemon", "Daemon for %s is ready on port %d\n", listen_param.local_node->identity->peer_id, listen_param.port); diff --git a/include/ipfs/core/daemon.h b/include/ipfs/core/daemon.h index 23ac421..75a898d 100644 --- a/include/ipfs/core/daemon.h +++ b/include/ipfs/core/daemon.h @@ -26,9 +26,6 @@ struct IpfsNodeListenParams { struct IpfsNode* local_node; }; -//void *ipfs_null_connection (void *ptr); -void *ipfs_null_listen (void *ptr); -int ipfs_null_shutdown(); int ipfs_daemon (int argc, char **argv); int ipfs_daemon_start(char* repo_path); int ipfs_daemon_stop(); diff --git a/include/ipfs/core/null.h b/include/ipfs/core/null.h new file mode 100644 index 0000000..fbb0ae2 --- /dev/null +++ b/include/ipfs/core/null.h @@ -0,0 +1,6 @@ +#pragma once + +void *ipfs_null_connection (void *ptr); +void *ipfs_null_listen (void *ptr); +int ipfs_null_shutdown(); + diff --git a/include/ipfs/routing/routing.h b/include/ipfs/routing/routing.h index 8a8fe91..59188dc 100644 --- a/include/ipfs/routing/routing.h +++ b/include/ipfs/routing/routing.h @@ -73,6 +73,8 @@ struct IpfsRouting { * @returns true(1) on success, otherwise false(0) */ int (*Bootstrap) (struct IpfsRouting*); + void (*Listen) (void*); + int (*Shutdown) (); }; typedef struct IpfsRouting ipfs_routing; diff --git a/routing/online.c b/routing/online.c index 06d9966..d4fbe95 100644 --- a/routing/online.c +++ b/routing/online.c @@ -1,6 +1,7 @@ #include #include "ipfs/routing/routing.h" +#include "ipfs/core/null.h" #include "libp2p/record/message.h" #include "libp2p/net/stream.h" #include "libp2p/conn/session.h" @@ -515,6 +516,8 @@ ipfs_routing* ipfs_routing_new_online (struct IpfsNode* local_node, struct RsaPr onlineRouting->Provide = ipfs_routing_online_provide; onlineRouting->Ping = ipfs_routing_online_ping; onlineRouting->Bootstrap = ipfs_routing_online_bootstrap; + onlineRouting->Listen = ipfs_null_listen; + onlineRouting->Shutdown = ipfs_null_shutdown; } onlineRouting->local_node->mode = MODE_ONLINE;