---
title: llarp::dht::TX

---

# llarp::dht::TX



 [More...](#detailed-description)

## Public Functions

|                | Name           |
| -------------- | -------------- |
| | **[TX](Classes/structllarp_1_1dht_1_1TX.md#function-tx)**(const [TXOwner](Classes/structllarp_1_1dht_1_1TXOwner.md) & asker, const K & k, [AbstractContext](Classes/structllarp_1_1dht_1_1AbstractContext.md) * p) |
| virtual | **[~TX](Classes/structllarp_1_1dht_1_1TX.md#function-~tx)**() =default |
| void | **[OnFound](Classes/structllarp_1_1dht_1_1TX.md#function-onfound)**(const [Key_t](Classes/structllarp_1_1dht_1_1Key__t.md) & askedPeer, const V & value) |
| util::StatusObject | **[ExtractStatus](Classes/structllarp_1_1dht_1_1TX.md#function-extractstatus)**() const |
| virtual bool | **[Validate](Classes/structllarp_1_1dht_1_1TX.md#function-validate)**(const V & value) const =0 |
| virtual void | **[Start](Classes/structllarp_1_1dht_1_1TX.md#function-start)**(const [TXOwner](Classes/structllarp_1_1dht_1_1TXOwner.md) & peer) =0 |
| virtual void | **[SendReply](Classes/structllarp_1_1dht_1_1TX.md#function-sendreply)**() =0 |

## Public Attributes

|                | Name           |
| -------------- | -------------- |
| K | **[target](Classes/structllarp_1_1dht_1_1TX.md#variable-target)**  |
| [AbstractContext](Classes/structllarp_1_1dht_1_1AbstractContext.md) * | **[parent](Classes/structllarp_1_1dht_1_1TX.md#variable-parent)**  |
| std::set< [Key_t](Classes/structllarp_1_1dht_1_1Key__t.md) > | **[peersAsked](Classes/structllarp_1_1dht_1_1TX.md#variable-peersasked)**  |
| std::vector< V > | **[valuesFound](Classes/structllarp_1_1dht_1_1TX.md#variable-valuesfound)**  |
| [TXOwner](Classes/structllarp_1_1dht_1_1TXOwner.md) | **[whoasked](Classes/structllarp_1_1dht_1_1TX.md#variable-whoasked)**  |

## Detailed Description

```cpp
template <typename K ,
typename V >
struct llarp::dht::TX;
```

## Public Functions Documentation

### function TX

```cpp
inline TX(
    const TXOwner & asker,
    const K & k,
    AbstractContext * p
)
```


### function ~TX

```cpp
virtual ~TX() =default
```


### function OnFound

```cpp
inline void OnFound(
    const Key_t & askedPeer,
    const V & value
)
```


### function ExtractStatus

```cpp
inline util::StatusObject ExtractStatus() const
```


### function Validate

```cpp
virtual bool Validate(
    const V & value
) const =0
```


**Reimplemented by**: [llarp::dht::RecursiveRouterLookup::Validate](Classes/structllarp_1_1dht_1_1RecursiveRouterLookup.md#function-validate), [llarp::dht::ExploreNetworkJob::Validate](Classes/structllarp_1_1dht_1_1ExploreNetworkJob.md#function-validate), [llarp::dht::PublishServiceJob::Validate](Classes/structllarp_1_1dht_1_1PublishServiceJob.md#function-validate), [llarp::dht::TagLookup::Validate](Classes/structllarp_1_1dht_1_1TagLookup.md#function-validate), [llarp::dht::ServiceAddressLookup::Validate](Classes/structllarp_1_1dht_1_1ServiceAddressLookup.md#function-validate)


### function Start

```cpp
virtual void Start(
    const TXOwner & peer
) =0
```


**Reimplemented by**: [llarp::dht::ExploreNetworkJob::Start](Classes/structllarp_1_1dht_1_1ExploreNetworkJob.md#function-start), [llarp::dht::PublishServiceJob::Start](Classes/structllarp_1_1dht_1_1PublishServiceJob.md#function-start), [llarp::dht::RecursiveRouterLookup::Start](Classes/structllarp_1_1dht_1_1RecursiveRouterLookup.md#function-start), [llarp::dht::ServiceAddressLookup::Start](Classes/structllarp_1_1dht_1_1ServiceAddressLookup.md#function-start), [llarp::dht::TagLookup::Start](Classes/structllarp_1_1dht_1_1TagLookup.md#function-start)


### function SendReply

```cpp
virtual void SendReply() =0
```


**Reimplemented by**: [llarp::dht::ExploreNetworkJob::SendReply](Classes/structllarp_1_1dht_1_1ExploreNetworkJob.md#function-sendreply), [llarp::dht::LocalRouterLookup::SendReply](Classes/structllarp_1_1dht_1_1LocalRouterLookup.md#function-sendreply), [llarp::dht::LocalServiceAddressLookup::SendReply](Classes/structllarp_1_1dht_1_1LocalServiceAddressLookup.md#function-sendreply), [llarp::dht::LocalTagLookup::SendReply](Classes/structllarp_1_1dht_1_1LocalTagLookup.md#function-sendreply), [llarp::dht::PublishServiceJob::SendReply](Classes/structllarp_1_1dht_1_1PublishServiceJob.md#function-sendreply), [llarp::dht::LocalPublishServiceJob::SendReply](Classes/structllarp_1_1dht_1_1LocalPublishServiceJob.md#function-sendreply), [llarp::dht::RecursiveRouterLookup::SendReply](Classes/structllarp_1_1dht_1_1RecursiveRouterLookup.md#function-sendreply), [llarp::dht::ServiceAddressLookup::SendReply](Classes/structllarp_1_1dht_1_1ServiceAddressLookup.md#function-sendreply), [llarp::dht::TagLookup::SendReply](Classes/structllarp_1_1dht_1_1TagLookup.md#function-sendreply)


## Public Attributes Documentation

### variable target

```cpp
K target;
```


### variable parent

```cpp
AbstractContext * parent;
```


### variable peersAsked

```cpp
std::set< Key_t > peersAsked;
```


### variable valuesFound

```cpp
std::vector< V > valuesFound;
```


### variable whoasked

```cpp
TXOwner whoasked;
```


-------------------------------

Updated on 2023-01-09 at 19:27:44 +0000