17 #ifndef __MESOS_ZOOKEEPER_GROUP_HPP__
18 #define __MESOS_ZOOKEEPER_GROUP_HPP__
61 return sequence == that.sequence;
66 return sequence != that.sequence;
71 return sequence < that.sequence;
76 return sequence <= that.sequence;
81 return sequence > that.sequence;
86 return sequence >= that.sequence;
116 : sequence(_sequence), label_(_label), cancelled_(cancelled) {}
118 const int32_t sequence;
125 Group(
const std::string& servers,
127 const std::string& znode,
142 const std::string&
data,
158 const std::set<Membership>& expected = std::set<Membership>());
174 const std::string& znode,
192 const std::string& data,
198 const std::set<Group::Membership>& expected);
203 void connected(int64_t sessionId,
bool reconnect);
205 void expired(int64_t sessionId);
206 void updated(int64_t sessionId,
const std::string& path);
207 void created(int64_t sessionId,
const std::string& path);
208 void deleted(int64_t sessionId,
const std::string& path);
211 void startConnection();
214 const std::string& data,
246 void retry(
const Duration& duration);
248 void timedout(int64_t sessionId);
253 void abort(
const std::string&
message);
258 const std::string servers;
263 const std::string znode;
267 const ACL_vector acl;
294 : data(_data), label(_label) {}
302 explicit Cancel(
const Group::Membership& _membership)
303 : membership(_membership) {}
304 Group::Membership membership;
310 explicit Data(
const Group::Membership& _membership)
311 : membership(_membership) {}
312 Group::Membership membership;
318 explicit Watch(
const std::set<Group::Membership>& _expected)
319 : expected(_expected) {}
320 std::set<Group::Membership> expected;
337 std::map<int32_t, process::Promise<bool>*> owned;
338 std::map<int32_t, process::Promise<bool>*> unowned;
351 #endif // __MESOS_ZOOKEEPER_GROUP_HPP__
Definition: zookeeper.hpp:115
void deleted(int64_t sessionId, const std::string &path)
bool operator==(const Membership &that) const
Definition: group.hpp:59
process::Future< Group::Membership > join(const std::string &data, const Option< std::string > &label)
Option< std::string > label() const
Definition: group.hpp:94
process::Future< Option< std::string > > data(const Membership &membership)
process::Future< Option< int64_t > > session()
virtual void initialize()
Invoked when a process gets spawned.
void expired(int64_t sessionId)
static const Duration RETRY_INTERVAL
Definition: group.hpp:184
Definition: duration.hpp:32
Definition: result.hpp:40
Group(const std::string &servers, const Duration &sessionTimeout, const std::string &znode, const Option< Authentication > &auth=None())
int32_t id() const
Definition: group.hpp:89
This interface specifies the public interface an event handler class must implement.
Definition: zookeeper.hpp:59
hashmap< std::string, MessageHandler > message
Definition: process.hpp:443
process::Future< bool > cancelled() const
Definition: group.hpp:105
static std::string zkBasename(const Group::Membership &membership)
process::Future< Option< int64_t > > session()
Definition: future.hpp:73
process::Future< Option< std::string > > data(const Group::Membership &membership)
std::queue< Join * > joins
Definition: group.hpp:325
Protocol< PromiseRequest, PromiseResponse > promise
bool operator!=(const Membership &that) const
Definition: group.hpp:64
process::Future< bool > cancel(const Group::Membership &membership)
void connected(int64_t sessionId, bool reconnect)
GroupProcess(const std::string &servers, const Duration &sessionTimeout, const std::string &znode, const Option< Authentication > &auth)
process::Future< std::set< Membership > > watch(const std::set< Membership > &expected=std::set< Membership >())
bool operator<=(const Membership &that) const
Definition: group.hpp:74
void created(int64_t sessionId, const std::string &path)
bool operator<(const Membership &that) const
Definition: group.hpp:69
process::Future< Membership > join(const std::string &data, const Option< std::string > &label=None())
std::queue< Watch * > watches
Definition: group.hpp:328
void reconnecting(int64_t sessionId)
bool operator>=(const Membership &that) const
Definition: group.hpp:84
process::Future< std::set< Group::Membership > > watch(const std::set< Group::Membership > &expected)
std::queue< Data * > datas
Definition: group.hpp:327
process::Future< bool > cancel(const Membership &membership)
bool operator>(const Membership &that) const
Definition: group.hpp:79
void updated(int64_t sessionId, const std::string &path)
Definition: process.hpp:493
GroupProcess * process
Definition: group.hpp:165
std::queue< Cancel * > cancels
Definition: group.hpp:326
Definition: group.hpp:169