send a bitset have all, if a local file is added
and minor fixes
This commit is contained in:
@@ -89,7 +89,7 @@ void SHA1MappedFilesystem::newFromFile(std::string_view file_name, std::string_v
|
|||||||
sha1_info.file_size = file_impl->_file_size; // TODO: remove the reliance on implementation details
|
sha1_info.file_size = file_impl->_file_size; // TODO: remove the reliance on implementation details
|
||||||
sha1_info.chunk_size = chunkSizeFromFileSize(sha1_info.file_size);
|
sha1_info.chunk_size = chunkSizeFromFileSize(sha1_info.file_size);
|
||||||
{
|
{
|
||||||
// TOOD: remove
|
// TODO: remove
|
||||||
const uint32_t cs_low {32*1024};
|
const uint32_t cs_low {32*1024};
|
||||||
const uint32_t cs_high {4*1024*1024};
|
const uint32_t cs_high {4*1024*1024};
|
||||||
|
|
||||||
|
|||||||
@@ -11,7 +11,6 @@
|
|||||||
#include <entt/container/dense_map.hpp>
|
#include <entt/container/dense_map.hpp>
|
||||||
|
|
||||||
#include "./ft1_sha1_info.hpp"
|
#include "./ft1_sha1_info.hpp"
|
||||||
#include "./hash_utils.hpp"
|
|
||||||
|
|
||||||
#include <vector>
|
#include <vector>
|
||||||
#include <deque>
|
#include <deque>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
#include "./contact_components.hpp"
|
#include "./contact_components.hpp"
|
||||||
#include "./chunk_picker.hpp"
|
#include "./chunk_picker.hpp"
|
||||||
|
|
||||||
#include <iostream>
|
//#include <iostream>
|
||||||
|
|
||||||
bool addParticipation(ContactHandle4 c, ObjectHandle o) {
|
bool addParticipation(ContactHandle4 c, ObjectHandle o) {
|
||||||
bool was_new {false};
|
bool was_new {false};
|
||||||
|
|||||||
@@ -517,15 +517,23 @@ void SHA1_NGCFT1::onSendFileHashFinished(ObjectHandle o, Message3Registry* reg_p
|
|||||||
// TODO: we dont want chunks anymore
|
// TODO: we dont want chunks anymore
|
||||||
// TODO: make sure to abort every receiving transfer (sending info and chunk should be fine, info uses copy and chunk handle)
|
// TODO: make sure to abort every receiving transfer (sending info and chunk should be fine, info uses copy and chunk handle)
|
||||||
|
|
||||||
// something happend, update all chunk pickers
|
// queue a send bitset (have all) to all participants
|
||||||
if (o.all_of<Components::SuspectedParticipants>()) {
|
if (o.all_of<Components::SuspectedParticipants>()) {
|
||||||
for (const auto& pcv : o.get<Components::SuspectedParticipants>().participants) {
|
for (const auto cv : o.get<Components::SuspectedParticipants>().participants) {
|
||||||
ContactHandle4 pch = _cs.contactHandle(pcv);
|
queueBitsetSendFull(_cs.contactHandle(cv), o);
|
||||||
assert(static_cast<bool>(pch));
|
|
||||||
pch.emplace_or_replace<ChunkPickerUpdateTag>();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// something happend, update all chunk pickers
|
||||||
|
// wtf why, we now have the full file, no? why update the receiving
|
||||||
|
//if (o.all_of<Components::SuspectedParticipants>()) {
|
||||||
|
// for (const auto& pcv : o.get<Components::SuspectedParticipants>().participants) {
|
||||||
|
// ContactHandle4 pch = _cs.contactHandle(pcv);
|
||||||
|
// assert(static_cast<bool>(pch));
|
||||||
|
// pch.emplace_or_replace<ChunkPickerUpdateTag>();
|
||||||
|
// }
|
||||||
|
//}
|
||||||
|
|
||||||
// in both cases, private and public, c (contact to) is the target
|
// in both cases, private and public, c (contact to) is the target
|
||||||
o.get_or_emplace<Components::AnnounceTargets>().targets.emplace(c);
|
o.get_or_emplace<Components::AnnounceTargets>().targets.emplace(c);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user