diff options
Diffstat (limited to 'cpp/src/IceStorm/Util.h')
-rw-r--r-- | cpp/src/IceStorm/Util.h | 36 |
1 files changed, 29 insertions, 7 deletions
diff --git a/cpp/src/IceStorm/Util.h b/cpp/src/IceStorm/Util.h index 8a5dc0ea195..5b2ff1ef642 100644 --- a/cpp/src/IceStorm/Util.h +++ b/cpp/src/IceStorm/Util.h @@ -10,24 +10,46 @@ #ifndef UTIL_H #define UTIL_H -#include <string> - #include <Ice/Ice.h> - -#include <Freeze/Freeze.h> +#include <IceDB/IceDB.h> #include <IceStorm/LLURecord.h> +#include <IceStorm/SubscriberRecord.h> + +namespace IceStorm +{ + +// +// Forward declarations. +// +class Instance; +typedef IceUtil::Handle<Instance> InstancePtr; + +typedef IceDB::Dbi<IceStorm::SubscriberRecordKey, IceStorm::SubscriberRecord, IceDB::IceContext, Ice::OutputStream> + SubscriberMap; +typedef IceDB::Dbi<std::string, IceStormElection::LogUpdate, IceDB::IceContext, Ice::OutputStream> LLUMap; + +const std::string lluDbKey = "_manager"; + +} namespace IceStormInternal { std::string +identityToTopicName(const Ice::Identity&); + +Ice::Identity +nameToIdentity(const IceStorm::InstancePtr&, const std::string&); + +std::string describeEndpoints(const Ice::ObjectPrx&); -void -putLLU(const Freeze::ConnectionPtr&, const IceStormElection::LogUpdate&); +int +compareSubscriberRecordKey(const MDB_val* v1, const MDB_val* v2); IceStormElection::LogUpdate -getLLU(const Freeze::ConnectionPtr&); +getIncrementedLLU(const IceDB::ReadWriteTxn&, IceStorm::LLUMap&); } + #endif |