---
title: llarp::layers::flow::FlowStats

---

# llarp::layers::flow::FlowStats





## Public Functions

|                | Name           |
| -------------- | -------------- |
| std::vector< [FlowAddr](Classes/classllarp_1_1layers_1_1flow_1_1FlowAddr.md) > | **[local_addrs](Classes/structllarp_1_1layers_1_1flow_1_1FlowStats.md#function-local-addrs)**() const<br>get all local addresses with the first element being local_addr.  |
| std::unordered_set< [FlowInfo](Classes/structllarp_1_1layers_1_1flow_1_1FlowInfo.md) > | **[good_flows](Classes/structllarp_1_1layers_1_1flow_1_1FlowStats.md#function-good-flows)**() const<br>get all flow infos that are considered "good".  |
| bool | **[has_good_flow_to](Classes/structllarp_1_1layers_1_1flow_1_1FlowStats.md#function-has-good-flow-to)**(const [FlowAddr](Classes/classllarp_1_1layers_1_1flow_1_1FlowAddr.md) & remote) const<br>return true if we have a flow to the remote that is "good".  |
| std::unordered_map< [FlowAddr](Classes/classllarp_1_1layers_1_1flow_1_1FlowAddr.md), std::string > | **[auth_map](Classes/structllarp_1_1layers_1_1flow_1_1FlowStats.md#function-auth-map)**() const<br>all flow addrs with auth codes.  |

## Public Attributes

|                | Name           |
| -------------- | -------------- |
| std::unordered_map< [FlowInfo](Classes/structllarp_1_1layers_1_1flow_1_1FlowInfo.md), [FlowInfoStats](Classes/structllarp_1_1layers_1_1flow_1_1FlowInfoStats.md) > | **[all_flows](Classes/structllarp_1_1layers_1_1flow_1_1FlowStats.md#variable-all-flows)**  |
| [FlowAddr](Classes/classllarp_1_1layers_1_1flow_1_1FlowAddr.md) | **[local_addr](Classes/structllarp_1_1layers_1_1flow_1_1FlowStats.md#variable-local-addr)** <br>default inbound flow address. (our .snode / .loki address)  |

## Public Functions Documentation

### function local_addrs

```cpp
std::vector< FlowAddr > local_addrs() const
```

get all local addresses with the first element being local_addr. 

### function good_flows

```cpp
std::unordered_set< FlowInfo > good_flows() const
```

get all flow infos that are considered "good". 

### function has_good_flow_to

```cpp
bool has_good_flow_to(
    const FlowAddr & remote
) const
```

return true if we have a flow to the remote that is "good". 

### function auth_map

```cpp
std::unordered_map< FlowAddr, std::string > auth_map() const
```

all flow addrs with auth codes. 

## Public Attributes Documentation

### variable all_flows

```cpp
std::unordered_map< FlowInfo, FlowInfoStats > all_flows;
```


### variable local_addr

```cpp
FlowAddr local_addr;
```

default inbound flow address. (our .snode / .loki address) 

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

Updated on 2023-04-27 at 04:17:17 +0000