* 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 {
|
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) {
|
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];
|
int i = matching_peer_indexes[sender_idx];
|
||||||
if (i < 0 && i >= num_contacts) {
|
if (i < 0 && i >= num_contacts) {
|
||||||
MESH_DEBUG_PRINTLN("onPeerDataRecv: Invalid sender idx: %d", i);
|
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) {
|
if (i + 2 >= pkt->payload_len) {
|
||||||
MESH_DEBUG_PRINTLN("Mesh::onRecvPacket(): incomplete data packet");
|
MESH_DEBUG_PRINTLN("Mesh::onRecvPacket(): incomplete data packet");
|
||||||
} else if (!_tables->hasSeen(pkt)) {
|
} 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)) {
|
if (self_id.isHashMatch(&dest_hash)) {
|
||||||
// scan contacts DB, for all matching hashes of 'src_hash' (max 4 matches supported ATM)
|
// scan contacts DB, for all matching hashes of 'src_hash' (max 4 matches supported ATM)
|
||||||
int num = searchPeersByHash(&src_hash);
|
int num = searchPeersByHash(&src_hash);
|
||||||
|
|||||||
Reference in New Issue
Block a user