mirror of
https://github.com/pelgraine/Meck.git
synced 2026-03-28 17:42:44 +01:00
* removed unused Destination class
This commit is contained in:
@@ -107,10 +107,6 @@ protected:
|
||||
|
||||
void onPeerDataRecv(mesh::Packet* packet, uint8_t type, int sender_idx, uint8_t* data, size_t len) override {
|
||||
if (type == PAYLOAD_TYPE_TXT_MSG && len > 5) {
|
||||
// NOTE: this is a 'first packet wins' impl. When receiving from multiple paths, the first to arrive wins.
|
||||
// For flood mode, the path may not be the 'best' in terms of hops.
|
||||
// FUTURE: could send back multiple paths, using createPathReturn(), and let sender choose which to use(?)
|
||||
|
||||
int i = matching_peer_indexes[sender_idx];
|
||||
if (i < 0 && i >= num_contacts) {
|
||||
MESH_DEBUG_PRINTLN("onPeerDataRecv: Invalid sender idx: %d", i);
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
#include "Destination.h"
|
||||
#include "Utils.h"
|
||||
#include <string.h>
|
||||
|
||||
namespace mesh {
|
||||
|
||||
Destination::Destination(const Identity& identity, const char* name) {
|
||||
uint8_t name_hash[MAX_HASH_SIZE];
|
||||
Utils::sha256(name_hash, MAX_HASH_SIZE, (const uint8_t *)name, strlen(name));
|
||||
|
||||
Utils::sha256(hash, MAX_HASH_SIZE, name_hash, MAX_HASH_SIZE, identity.pub_key, PUB_KEY_SIZE);
|
||||
}
|
||||
|
||||
Destination::Destination(const char* name) {
|
||||
uint8_t name_hash[MAX_HASH_SIZE];
|
||||
Utils::sha256(name_hash, MAX_HASH_SIZE, (const uint8_t *)name, strlen(name));
|
||||
|
||||
Utils::sha256(hash, MAX_HASH_SIZE, name_hash, MAX_HASH_SIZE);
|
||||
}
|
||||
|
||||
Destination::Destination() {
|
||||
memset(hash, 0, MAX_HASH_SIZE);
|
||||
}
|
||||
|
||||
bool Destination::matches(const uint8_t* other_hash) {
|
||||
return memcmp(hash, other_hash, MAX_HASH_SIZE) == 0;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -1,25 +0,0 @@
|
||||
#pragma once
|
||||
|
||||
#include <MeshCore.h>
|
||||
#include <Identity.h>
|
||||
|
||||
namespace mesh {
|
||||
|
||||
/**
|
||||
* \brief Represents an end-point in the mesh, identified by a truncated SHA256 hash. (of DEST_HASH_SIZE)
|
||||
* The hash is either from just a 'name' (C-string), and these can be thought of as 'broadcast' addresses,
|
||||
* or can be the hash of name + Identity.public_key
|
||||
*/
|
||||
class Destination {
|
||||
public:
|
||||
uint8_t hash[MAX_HASH_SIZE];
|
||||
|
||||
Destination(const Identity& identity, const char* name);
|
||||
Destination(const char* name);
|
||||
Destination(const uint8_t desthash[]) { memcpy(hash, desthash, MAX_HASH_SIZE); }
|
||||
Destination();
|
||||
|
||||
bool matches(const uint8_t* other_hash);
|
||||
};
|
||||
|
||||
}
|
||||
@@ -73,6 +73,10 @@ DispatcherAction Mesh::onRecvPacket(Packet* pkt) {
|
||||
if (i + 2 >= pkt->payload_len) {
|
||||
MESH_DEBUG_PRINTLN("Mesh::onRecvPacket(): incomplete data packet");
|
||||
} else if (!_tables->hasSeen(pkt)) {
|
||||
// NOTE: this is a 'first packet wins' impl. When receiving from multiple paths, the first to arrive wins.
|
||||
// For flood mode, the path may not be the 'best' in terms of hops.
|
||||
// FUTURE: could send back multiple paths, using createPathReturn(), and let sender choose which to use(?)
|
||||
|
||||
if (self_id.isHashMatch(&dest_hash)) {
|
||||
// scan contacts DB, for all matching hashes of 'src_hash' (max 4 matches supported ATM)
|
||||
int num = searchPeersByHash(&src_hash);
|
||||
|
||||
Reference in New Issue
Block a user