mirror of
https://github.com/monero-project/monero.git
synced 2024-12-23 03:59:33 +00:00
p2p: remove backward compatible peer list
This commit is contained in:
parent
606318026e
commit
39a343d76e
1 changed files with 2 additions and 58 deletions
|
@ -213,35 +213,7 @@ namespace nodetool
|
||||||
BEGIN_KV_SERIALIZE_MAP()
|
BEGIN_KV_SERIALIZE_MAP()
|
||||||
KV_SERIALIZE(node_data)
|
KV_SERIALIZE(node_data)
|
||||||
KV_SERIALIZE(payload_data)
|
KV_SERIALIZE(payload_data)
|
||||||
if (is_store)
|
KV_SERIALIZE(local_peerlist_new)
|
||||||
{
|
|
||||||
// saving: save both, so old and new peers can understand it
|
|
||||||
KV_SERIALIZE(local_peerlist_new)
|
|
||||||
std::vector<peerlist_entry_base<network_address_old>> local_peerlist;
|
|
||||||
for (const auto &p: this_ref.local_peerlist_new)
|
|
||||||
{
|
|
||||||
if (p.adr.get_type_id() == epee::net_utils::ipv4_network_address::get_type_id())
|
|
||||||
{
|
|
||||||
const epee::net_utils::network_address &na = p.adr;
|
|
||||||
const epee::net_utils::ipv4_network_address &ipv4 = na.as<const epee::net_utils::ipv4_network_address>();
|
|
||||||
local_peerlist.push_back(peerlist_entry_base<network_address_old>({{ipv4.ip(), ipv4.port()}, p.id, p.last_seen, p.pruning_seed, p.rpc_port, p.rpc_credits_per_hash}));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
MDEBUG("Not including in legacy peer list: " << p.adr.str());
|
|
||||||
}
|
|
||||||
epee::serialization::selector<is_store>::serialize_stl_container_pod_val_as_blob(local_peerlist, stg, hparent_section, "local_peerlist");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// loading: load old list only if there is no new one
|
|
||||||
if (!epee::serialization::selector<is_store>::serialize(this_ref.local_peerlist_new, stg, hparent_section, "local_peerlist_new"))
|
|
||||||
{
|
|
||||||
std::vector<peerlist_entry_base<network_address_old>> local_peerlist;
|
|
||||||
epee::serialization::selector<is_store>::serialize_stl_container_pod_val_as_blob(local_peerlist, stg, hparent_section, "local_peerlist");
|
|
||||||
for (const auto &p: local_peerlist)
|
|
||||||
((response&)this_ref).local_peerlist_new.push_back(peerlist_entry({epee::net_utils::ipv4_network_address(p.adr.ip, p.adr.port), p.id, p.last_seen, p.pruning_seed, p.rpc_port, p.rpc_credits_per_hash}));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
END_KV_SERIALIZE_MAP()
|
END_KV_SERIALIZE_MAP()
|
||||||
};
|
};
|
||||||
typedef epee::misc_utils::struct_init<response_t> response;
|
typedef epee::misc_utils::struct_init<response_t> response;
|
||||||
|
@ -272,35 +244,7 @@ namespace nodetool
|
||||||
|
|
||||||
BEGIN_KV_SERIALIZE_MAP()
|
BEGIN_KV_SERIALIZE_MAP()
|
||||||
KV_SERIALIZE(payload_data)
|
KV_SERIALIZE(payload_data)
|
||||||
if (is_store)
|
KV_SERIALIZE(local_peerlist_new)
|
||||||
{
|
|
||||||
// saving: save both, so old and new peers can understand it
|
|
||||||
KV_SERIALIZE(local_peerlist_new)
|
|
||||||
std::vector<peerlist_entry_base<network_address_old>> local_peerlist;
|
|
||||||
for (const auto &p: this_ref.local_peerlist_new)
|
|
||||||
{
|
|
||||||
if (p.adr.get_type_id() == epee::net_utils::ipv4_network_address::get_type_id())
|
|
||||||
{
|
|
||||||
const epee::net_utils::network_address &na = p.adr;
|
|
||||||
const epee::net_utils::ipv4_network_address &ipv4 = na.as<const epee::net_utils::ipv4_network_address>();
|
|
||||||
local_peerlist.push_back(peerlist_entry_base<network_address_old>({{ipv4.ip(), ipv4.port()}, p.id, p.last_seen}));
|
|
||||||
}
|
|
||||||
else
|
|
||||||
MDEBUG("Not including in legacy peer list: " << p.adr.str());
|
|
||||||
}
|
|
||||||
epee::serialization::selector<is_store>::serialize_stl_container_pod_val_as_blob(local_peerlist, stg, hparent_section, "local_peerlist");
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// loading: load old list only if there is no new one
|
|
||||||
if (!epee::serialization::selector<is_store>::serialize(this_ref.local_peerlist_new, stg, hparent_section, "local_peerlist_new"))
|
|
||||||
{
|
|
||||||
std::vector<peerlist_entry_base<network_address_old>> local_peerlist;
|
|
||||||
epee::serialization::selector<is_store>::serialize_stl_container_pod_val_as_blob(local_peerlist, stg, hparent_section, "local_peerlist");
|
|
||||||
for (const auto &p: local_peerlist)
|
|
||||||
((response&)this_ref).local_peerlist_new.push_back(peerlist_entry({epee::net_utils::ipv4_network_address(p.adr.ip, p.adr.port), p.id, p.last_seen}));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
END_KV_SERIALIZE_MAP()
|
END_KV_SERIALIZE_MAP()
|
||||||
};
|
};
|
||||||
typedef epee::misc_utils::struct_init<response_t> response;
|
typedef epee::misc_utils::struct_init<response_t> response;
|
||||||
|
|
Loading…
Reference in a new issue