lokinet/llarp/dht/serviceaddresslookup.hpp

46 lines
1.1 KiB
C++
Raw Normal View History

2019-01-22 01:14:02 +00:00
#ifndef LLARP_DHT_SERVICEADDRESSLOOKUP
#define LLARP_DHT_SERVICEADDRESSLOOKUP
#include <dht/key.hpp>
#include <dht/tx.hpp>
#include <service/address.hpp>
#include <service/intro_set.hpp>
2019-01-22 01:14:02 +00:00
namespace llarp
{
namespace dht
{
struct TXOwner;
2020-01-27 21:30:41 +00:00
struct ServiceAddressLookup : public TX< Key_t, service::EncryptedIntroSet >
2019-01-22 01:14:02 +00:00
{
2020-01-27 21:30:41 +00:00
service::EncryptedIntroSetLookupHandler handleResult;
2020-02-13 15:51:25 +00:00
uint64_t recursionDepth;
uint32_t relayOrder;
2019-01-22 01:14:02 +00:00
2020-01-27 21:30:41 +00:00
ServiceAddressLookup(const TXOwner &asker, const Key_t &addr,
2020-02-13 15:51:25 +00:00
AbstractContext *ctx, uint64_t recursionDepth,
uint32_t relayOrder,
2020-01-27 21:30:41 +00:00
service::EncryptedIntroSetLookupHandler handler);
2019-01-22 01:14:02 +00:00
bool
2020-01-27 21:30:41 +00:00
Validate(const service::EncryptedIntroSet &value) const override;
2019-01-22 01:14:02 +00:00
bool
GetNextPeer(Key_t &next, const std::set< Key_t > &exclude) override;
void
Start(const TXOwner &peer) override;
void
DoNextRequest(const Key_t &ask) override;
2019-07-30 23:42:13 +00:00
void
2019-01-22 01:14:02 +00:00
SendReply() override;
};
} // namespace dht
} // namespace llarp
#endif