mirror of
https://github.com/pelgraine/Meck.git
synced 2026-03-28 17:42:44 +01:00
26 lines
662 B
C++
26 lines
662 B
C++
#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);
|
|
};
|
|
|
|
}
|