mirror of
https://github.com/oxen-io/lokinet.git
synced 2024-11-15 12:13:24 +00:00
7caa87862e
All #ifndef guards on headers have been removed, I think, in favor of #pragma once Headers are now included as `#include "filename"` if the included file resides in the same directory as the file including it, or any subdirectory therein. Otherwise they are included as `#include <project/top/dir/relative/path/filename>` The above does not include system/os headers.
31 lines
564 B
C++
31 lines
564 B
C++
#pragma once
|
|
|
|
#include "key.hpp"
|
|
#include <llarp/router_contact.hpp>
|
|
|
|
namespace llarp
|
|
{
|
|
namespace dht
|
|
{
|
|
struct XorMetric
|
|
{
|
|
const Key_t us;
|
|
|
|
XorMetric(const Key_t& ourKey) : us(ourKey)
|
|
{}
|
|
|
|
bool
|
|
operator()(const Key_t& left, const Key_t& right) const
|
|
{
|
|
return (us ^ left) < (us ^ right);
|
|
}
|
|
|
|
bool
|
|
operator()(const RouterContact& left, const RouterContact& right) const
|
|
{
|
|
return (left.pubkey ^ us) < (right.pubkey ^ us);
|
|
}
|
|
};
|
|
} // namespace dht
|
|
} // namespace llarp
|