12[[
"ice-prefix",
"cpp:header-ext:h" ]]
14#include <Ice/BuiltinSequences.ice>
15#include <Ice/Identity.ice>
32 sequence<TopicContent>
233 void ready(
int j,
string gn,
Object* coordinator,
int max,
long generation);
257 Ice::IntSeq forwardedInvites,
291 [
"cpp:const"] idempotent
Object*
sync();
Thrown if an observer detects an inconsistency.
string reason
The reason for the inconsistency.
ObserverInconsistencyException()
idempotent Object * sync()
Get the sync object for the replica hosted by this node.
idempotent QueryInfo query()
Get the query information for the given node.
idempotent NodeInfoSeq nodes()
Get the replication group information.
void invitation(int j, string gn)
Invite the node into a group with the given coordinator and group name.
void ready(int j, string gn, Object *coordinator, int max, long generation)
Call from the group coordinator to a node to inform the node that the replica group is active.
void accept(int j, string gn, Ice::IntSeq forwardedInvites, Object *observer, LogUpdate llu, int max)
Called to accept an invitation into the given group.
idempotent bool areYouThere(string gn, int j)
Determine if the node is a member of the given group with the given coordinator.
idempotent bool areYouCoordinator()
Determine if this node is a coordinator.
void destroyTopic(LogUpdate llu, string name)
Destroy the topic with the given name.
void removeSubscriber(LogUpdate llu, string topic, Ice::IdentitySeq subscribers)
Remove a subscriber from a topic.
void init(LogUpdate llu, TopicContentSeq content)
Initialize the observer.
void addSubscriber(LogUpdate llu, string topic, IceStorm::SubscriberRecord record)
Add a subscriber to a topic.
void createTopic(LogUpdate llu, string name)
Create the topic with the given name.
Interface used to sync topics.
void getContent(out LogUpdate llu, out TopicContentSeq content)
Retrieve the topic content.
::std::vector<::IceStormElection::GroupInfo > GroupInfoSeq
A sequence of group info.
@ NodeStateElection
The node is electing a leader.
@ NodeStateNormal
The replica group is active & replicating.
@ NodeStateInactive
The node is inactive and awaiting an election.
@ NodeStateReorganization
The replica group is reorganizing.
::std::vector<::IceStormElection::NodeInfo > NodeInfoSeq
A sequence of node info.
::std::vector<::IceStormElection::TopicContent > TopicContentSeq
A sequence of topic content.
::std::vector<::IceStorm::SubscriberRecord > SubscriberRecordSeq
LogUpdate llu
The last known log update for this node.
int id
The identity of the node.
A struct used for marking the last log update.
All nodes in the replication group.
int id
The identity of the node.
NodeState state
The node state.
Object * replica
The replica the node is managing.
string group
The nodes group name.
GroupInfoSeq up
The sequence of nodes in this nodes group.
int coord
The nodes coordinator.
int max
The highest priority node that this node has seen.
IceStorm::SubscriberRecordSeq records
The topic subscribers.
Ice::Identity id
The topic identity.
Used to store persistent information for persistent subscribers.