FREEDM DGI
PeerSets.hpp
Go to the documentation of this file.
1 
21 #ifndef MPEERSETS_HPP_
22 #define MPEERSETS_HPP_
23 
24 #include <map>
25 #include <string>
26 
27 #include <boost/date_time/posix_time/ptime.hpp>
28 
29 #include "CPeerNode.hpp"
30 
31 namespace freedm {
32 namespace broker {
33 
35 typedef std::map<std::string, CPeerNode> PeerSet;
37 typedef PeerSet::iterator PeerSetIterator;
39 int CountInPeerSet(PeerSet& ps, const CPeerNode& m);
41 PeerSetIterator FindInPeerSet(PeerSet& ps, const CPeerNode& m);
43 void EraseInPeerSet(PeerSet& ps, const CPeerNode& m);
45 void InsertInPeerSet(PeerSet& ps, const CPeerNode& m);
46 
48 typedef std::map<std::string,
49  std::pair<CPeerNode, boost::posix_time::ptime> > TimedPeerSet;
50 
52 typedef TimedPeerSet::iterator TimedPeerSetIterator;
53 
55 int CountInTimedPeerSet(TimedPeerSet& tps, const CPeerNode& m);
56 
58 boost::posix_time::ptime GetTimeFromPeerSet(TimedPeerSet& tps, const CPeerNode& m);
59 
61 void EraseInTimedPeerSet(TimedPeerSet& tps, const CPeerNode& m);
62 
64 void InsertInTimedPeerSet(TimedPeerSet& tps,
65  const CPeerNode& m,
66  boost::posix_time::ptime time);
67 
68 } // namespace freedm
69 } // namespace broker
70 
71 #endif // MPEERSET_HPP_
void EraseInPeerSet(PeerSet &ps, const CPeerNode &m)
Provides erase() for a PeerSet.
Definition: PeerSets.cpp:66
boost::posix_time::ptime GetTimeFromPeerSet(TimedPeerSet &tps, const CPeerNode &m)
Get the time a peer was placed into the TimedPeerSet; only sensible if the peer is in the set exactly...
Definition: PeerSets.cpp:112
PeerSet::iterator PeerSetIterator
Provides a PeerSet iterator templated on T.
Definition: PeerSets.hpp:37
void InsertInPeerSet(PeerSet &ps, const CPeerNode &m)
Provides insert() for a PeerSet.
Definition: PeerSets.cpp:79
Base interface for agents/broker modules.
Definition: CPeerNode.hpp:37
std::map< std::string, std::pair< CPeerNode, boost::posix_time::ptime > > TimedPeerSet
Similar to a PeerSet, but also tracks the time a peer was inserted.
Definition: PeerSets.hpp:49
int CountInTimedPeerSet(TimedPeerSet &tps, const CPeerNode &m)
Provides count() for a TimedPeerSet.
Definition: PeerSets.cpp:93
TimedPeerSet::iterator TimedPeerSetIterator
Provides a TimedPeerSet iterator templated on T.
Definition: PeerSets.hpp:52
General FREEDM Namespace.
Definition: CBroker.cpp:53
void InsertInTimedPeerSet(TimedPeerSet &tps, const CPeerNode &m, boost::posix_time::ptime time)
Provides insert() for a TimedPeerSet.
Definition: PeerSets.cpp:159
void EraseInTimedPeerSet(TimedPeerSet &tps, const CPeerNode &m)
Provides erase() for a TimedPeerSet.
Definition: PeerSets.cpp:133
PeerSetIterator FindInPeerSet(PeerSet &ps, const CPeerNode &m)
Provides find() for a PeerSet.
Definition: PeerSets.cpp:53
int CountInPeerSet(PeerSet &ps, const CPeerNode &m)
Provides count() for a PeerSet.
Definition: PeerSets.cpp:39
std::map< std::string, CPeerNode > PeerSet
Provides a PeerSet type for a module templated on T.
Definition: PeerSets.hpp:35