MADARA  3.2.3
PeerDiscovery.h
Go to the documentation of this file.
1 
2 
3 #ifndef _MADARA_FILTERS_PEER_DISCOVERY_H_
4 #define _MADARA_FILTERS_PEER_DISCOVERY_H_
5 
13 #include <string>
14 #include <vector>
15 #include <map>
16 #include <list>
19 #include "madara/utility/StdInt.h"
20 #include "madara/MadaraExport.h"
24 
25 #include "AggregateFilter.h"
26 
27 namespace madara
28 {
29  namespace filters
30  {
34  class MADARA_EXPORT PeerDiscovery : public AggregateFilter
35  {
36  public:
46  const std::string & prefix = ".peers",
47  knowledge::KnowledgeRecord::Integer heart_beat = -1);
48 
52  virtual ~PeerDiscovery ();
53 
62  virtual void filter (knowledge::KnowledgeMap & records,
63  const transport::TransportContext & transport_context,
64  knowledge::Variables & vars);
65 
66  protected:
67 
72 
77 
82 
87 
92  };
93  }
94 }
95 
96 #endif // _MADARA_FILTERS_PEER_DISCOVERY_H_
Abstract base class for implementing aggregate record filters via a functor interface.
Provides context about the transport.
knowledge::KnowledgeRecord::Integer heart_beat_
The time to keep record of a peer.
Definition: PeerDiscovery.h:86
std::string prefix_
The context.
Definition: PeerDiscovery.h:76
static struct madara::knowledge::tags::string_t string
This class stores a map of strings to KaRL variables.
Definition: Map.h:32
::std::map< std::string, KnowledgeRecord > KnowledgeMap
knowledge::KnowledgeRecord::Integer last_clear_
The time of the last clear of the peer_list.
Definition: PeerDiscovery.h:91
knowledge::containers::Map peers_
A map of discovered peers.
Definition: PeerDiscovery.h:81
Copyright (c) 2015 Carnegie Mellon University.
Filter for discovering neighboring peers.
Definition: PeerDiscovery.h:34
Provides an interface for external functions into the MADARA KaRL variable settings.
bool initialized_
Tracks if the peers_ map has been initialized.
Definition: PeerDiscovery.h:71