MADARA  3.4.1
madara::filters::PeerDiscovery Class Reference

Filter for discovering neighboring peers. More...

#include <PeerDiscovery.h>

Inheritance diagram for madara::filters::PeerDiscovery:
madara::filters::AggregateFilter

Public Member Functions

 PeerDiscovery (const std::string &prefix=".peers", knowledge::KnowledgeRecord::Integer heart_beat=-1)
 Constructor. More...
 
virtual ~PeerDiscovery ()
 Destructor. More...
 
virtual void filter (knowledge::KnowledgeMap &records, const transport::TransportContext &transport_context, knowledge::Variables &vars)
 User-implementable method for performing a filter on network data. More...
 

Protected Attributes

knowledge::KnowledgeRecord::Integer heart_beat_
 The time to keep record of a peer. More...
 
bool initialized_
 Tracks if the peers_ map has been initialized. More...
 
knowledge::KnowledgeRecord::Integer last_clear_
 The time of the last clear of the peer_list. More...
 
knowledge::containers::Map peers_
 A map of discovered peers. More...
 
std::string prefix_
 The context. More...
 

Detailed Description

Filter for discovering neighboring peers.

Definition at line 34 of file PeerDiscovery.h.

Constructor & Destructor Documentation

◆ PeerDiscovery()

madara::filters::PeerDiscovery::PeerDiscovery ( const std::string &  prefix = ".peers",
knowledge::KnowledgeRecord::Integer  heart_beat = -1 
)

Constructor.

Parameters
prefixthe prefix to store discovery information into the knowledge base
heart_beatthe time, in seconds, before dropping a peer from discovery. Negative values indicate that peers should never be erased.

Definition at line 7 of file PeerDiscovery.cpp.

◆ ~PeerDiscovery()

madara::filters::PeerDiscovery::~PeerDiscovery ( )
virtual

Destructor.

Definition at line 16 of file PeerDiscovery.cpp.

Member Function Documentation

◆ filter()

void madara::filters::PeerDiscovery::filter ( knowledge::KnowledgeMap records,
const transport::TransportContext transport_context,
knowledge::Variables vars 
)
virtual

User-implementable method for performing a filter on network data.

This is a pure abstract function that must be overridden when implementing a subclass.

Parameters
recordsthe aggregate records vector
transport_contextcontext for querying transport state
varscontext for querying current program state

Implements madara::filters::AggregateFilter.

Definition at line 18 of file PeerDiscovery.cpp.

Member Data Documentation

◆ heart_beat_

knowledge::KnowledgeRecord::Integer madara::filters::PeerDiscovery::heart_beat_
protected

The time to keep record of a peer.

Definition at line 84 of file PeerDiscovery.h.

◆ initialized_

bool madara::filters::PeerDiscovery::initialized_
protected

Tracks if the peers_ map has been initialized.

Definition at line 69 of file PeerDiscovery.h.

◆ last_clear_

knowledge::KnowledgeRecord::Integer madara::filters::PeerDiscovery::last_clear_
protected

The time of the last clear of the peer_list.

Definition at line 89 of file PeerDiscovery.h.

◆ peers_

knowledge::containers::Map madara::filters::PeerDiscovery::peers_
protected

A map of discovered peers.

Definition at line 79 of file PeerDiscovery.h.

◆ prefix_

std::string madara::filters::PeerDiscovery::prefix_
protected

The context.

Definition at line 74 of file PeerDiscovery.h.


The documentation for this class was generated from the following files: