Skip to content

Commit ac2eec9

Browse files
authored
kademlia multiple protocols (#219)
Signed-off-by: turuslan <[email protected]>
1 parent 28f3bf0 commit ac2eec9

File tree

9 files changed

+10
-13
lines changed

9 files changed

+10
-13
lines changed

include/libp2p/protocol/kademlia/common.hpp

+1-3
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,9 @@
88

99
#include <chrono>
1010

11+
#include <libp2p/basic/scheduler.hpp>
1112
#include <libp2p/peer/peer_id.hpp>
1213
#include <libp2p/peer/peer_info.hpp>
13-
#include <libp2p/peer/protocol.hpp>
14-
#include <libp2p/basic/scheduler.hpp>
1514
#include <libp2p/protocol/kademlia/content_id.hpp>
1615
#include <libp2p/protocol/kademlia/content_value.hpp>
1716

@@ -21,7 +20,6 @@ namespace libp2p::protocol::kademlia {
2120

2221
using peer::PeerId;
2322
using peer::PeerInfo;
24-
using peer::ProtocolName;
2523

2624
using Key = ContentId;
2725
using Value = ContentValue;

include/libp2p/protocol/kademlia/config.hpp

+3-2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
#define LIBP2P_PROTOCOL_KADEMLIA_CONFIG
88

99
#include <libp2p/outcome/outcome.hpp>
10+
#include <libp2p/peer/stream_protocols.hpp>
1011
#include <libp2p/protocol/kademlia/common.hpp>
1112

1213
namespace libp2p::protocol::kademlia {
@@ -51,10 +52,10 @@ namespace libp2p::protocol::kademlia {
5152
Config() = default;
5253

5354
/**
54-
* @returns kademlia protocol id
55+
* @returns kademlia protocol ids
5556
* @note Default: "ipfs/kad/1.0"
5657
*/
57-
peer::ProtocolName protocolId = "/ipfs/kad/1.0.0";
58+
StreamProtocols protocols = {"/ipfs/kad/1.0.0"};
5859

5960
/**
6061
* True if application is not announce himself

include/libp2p/protocol/kademlia/impl/kademlia_impl.hpp

-1
Original file line numberDiff line numberDiff line change
@@ -128,7 +128,6 @@ namespace libp2p::protocol::kademlia {
128128

129129
// --- Secondary ---
130130

131-
const ProtocolName &protocol_;
132131
const PeerId self_id_;
133132

134133
// --- Auxiliary ---

src/protocol/kademlia/impl/add_provider_executor.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ namespace libp2p::protocol::kademlia {
138138
config_.connectionTimeout);
139139

140140
host_->newStream(
141-
peer_info, {config_.protocolId},
141+
peer_info, config_.protocols,
142142
[holder](auto &&stream_res) {
143143
if (holder->first) {
144144
holder->second.cancel();

src/protocol/kademlia/impl/find_peer_executor.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,7 @@ namespace libp2p::protocol::kademlia {
148148
config_.connectionTimeout);
149149

150150
host_->newStream(
151-
peer_info, {config_.protocolId},
151+
peer_info, config_.protocols,
152152
[holder](auto &&stream_res) {
153153
if (holder->first) {
154154
holder->second.cancel();

src/protocol/kademlia/impl/find_providers_executor.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -157,7 +157,7 @@ namespace libp2p::protocol::kademlia {
157157
config_.connectionTimeout);
158158

159159
host_->newStream(
160-
peer_info, {config_.protocolId},
160+
peer_info, config_.protocols,
161161
[holder](auto &&stream_res) {
162162
if (holder->first) {
163163
holder->second.cancel();

src/protocol/kademlia/impl/get_value_executor.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,7 @@ namespace libp2p::protocol::kademlia {
145145
config_.connectionTimeout);
146146

147147
host_->newStream(
148-
peer_info, {config_.protocolId},
148+
peer_info, config_.protocols,
149149
[holder](auto &&stream_res) {
150150
if (holder->first) {
151151
holder->second.cancel();

src/protocol/kademlia/impl/kademlia_impl.cpp

+1-2
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,6 @@ namespace libp2p::protocol::kademlia {
4343
scheduler_(std::move(scheduler)),
4444
bus_(std::move(bus)),
4545
random_generator_(std::move(random_generator)),
46-
protocol_(config_.protocolId),
4746
self_id_(host_->getId()),
4847
log_("Kademlia", "kademlia") {
4948
BOOST_ASSERT(host_ != nullptr);
@@ -68,7 +67,7 @@ namespace libp2p::protocol::kademlia {
6867

6968
// handle streams for observed protocol
7069
host_->setProtocolHandler(
71-
{protocol_}, [wp = weak_from_this()](StreamAndProtocol stream) {
70+
config_.protocols, [wp = weak_from_this()](StreamAndProtocol stream) {
7271
if (auto self = wp.lock()) {
7372
self->handleProtocol(std::move(stream));
7473
}

src/protocol/kademlia/impl/put_value_executor.cpp

+1-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ namespace libp2p::protocol::kademlia {
9090
config_.connectionTimeout);
9191

9292
host_->newStream(
93-
peer_info, {config_.protocolId},
93+
peer_info, config_.protocols,
9494
[holder](auto &&stream_res) {
9595
if (holder->first) {
9696
holder->second.cancel();

0 commit comments

Comments
 (0)