IceStrom Interface
来源:互联网 发布:vsftp centos怎么用 编辑:程序博客网 时间:2024/05/17 00:51
TopicManager
The TopicManager is a singleton object that acts as a factory and repository of
Topic objects. Its interface and related types are shown below:
The TopicManager is a singleton object that acts as a factory and repository of
Topic objects. Its interface and related types are shown below:
module IceStorm {
dictionary<string, Topic*> TopicDict;
exception TopicExists {
string name;
};
exception NoSuchTopic {
string name;
};
interface TopicManager {
dictionary<string, Topic*> TopicDict;
exception TopicExists {
string name;
};
exception NoSuchTopic {
string name;
};
interface TopicManager {
// create a new topic, which must have a unique name.
Topic* create(string name) throws TopicExists;
Topic* create(string name) throws TopicExists;
// allows a client to obtain a proxy for an existing topic
idempotent Topic* retrieve(string name) throws NoSuchTopic;
idempotent Topic* retrieve(string name) throws NoSuchTopic;
// supplies a dictionary of all existing topics.
idempotent TopicDict retrieveAll();
idempotent TopicDict retrieveAll();
// returns Slice checksums for the IceStorm definitions
idempotent Ice::SliceChecksumDict getSliceChecksums();
};
};
idempotent Ice::SliceChecksumDict getSliceChecksums();
};
};
Topic
The Topic interface represents a topic and provides several administrative operations
for configuring links and managing subscribers.
The Topic interface represents a topic and provides several administrative operations
for configuring links and managing subscribers.
module IceStorm {
struct LinkInfo {
Topic* theTopic;
string name;
int cost;
};
sequence<LinkInfo> LinkInfoSeq;
dictionary<string, string> QoS;
exception LinkExists {
string name;
};
exception NoSuchLink {
string name;
};
exception AlreadySubscribed {};
exception BadQoS {
string reason;
};
interface Topic {
struct LinkInfo {
Topic* theTopic;
string name;
int cost;
};
sequence<LinkInfo> LinkInfoSeq;
dictionary<string, string> QoS;
exception LinkExists {
string name;
};
exception NoSuchLink {
string name;
};
exception AlreadySubscribed {};
exception BadQoS {
string reason;
};
interface Topic {
// returns the name assigned to the topic,
idempotent string getName();
idempotent string getName();
// return proxies for the topic’s publisher object
idempotent Object* getPublisher();
idempotent Object* getNonReplicatedPublisher();
idempotent Object* getPublisher();
idempotent Object* getNonReplicatedPublisher();
// adds a subscriber’s proxy to the topic;
// if another subscriber proxy already exists with the same object identity, the
// operation throws AlreadySubscribed.
// operation throws AlreadySubscribed.
// The operation returns the publisher for the topic
Object* subscribeAndGetPublisher(QoS theQoS, Object* subscriber) throws AlreadySubscribed, BadQoS;
Object* subscribeAndGetPublisher(QoS theQoS, Object* subscriber) throws AlreadySubscribed, BadQoS;
// removes the subscriber from the topic.
idempotent void unsubscribe(Object* subscriber);
idempotent void unsubscribe(Object* subscriber);
// A link to another topic is created using the link operation;
// if a link already exists to the given topic, the LinkExists exception is raised.
idempotent void link(Topic* linkTo, int cost) throws LinkExists;
idempotent void link(Topic* linkTo, int cost) throws LinkExists;
// Links are destroyed using the unlink operation.
idempotent void unlink(Topic* linkTo) throws NoSuchLink;
idempotent LinkInfoSeq getLinkInfoSeq();
idempotent void unlink(Topic* linkTo) throws NoSuchLink;
idempotent LinkInfoSeq getLinkInfoSeq();
// destroy operation permanently destroys the topic.
void destroy();
};
};
void destroy();
};
};
- IceStrom Interface
- Interface
- interface
- interface
- interface
- interface
- interface
- @interface
- Interface
- @interface
- Interface
- interface
- Interface
- interface
- Interface
- Interface
- interface
- interface
- vc中使用nmake命令编译方法
- iframe父窗口和子窗口相互的调用方法解决方案[详细][全]
- WiFi形式
- "column "x" does not belong to table "y""
- asp.net安装ajax后添加timer控件刷新时间的问题
- IceStrom Interface
- Using IceStorm
- JasperReports与iReport的问题解决方法
- JAVA内存泄漏——内存泄漏原因和内存泄漏检测工具(zt)
- DB4O激活查询深度,超过5层
- std::fstream在VC2003.net中的使用问题
- 读《菊花与刀》一
- 在Oracle E-Business中利用rtf产生报表
- 如何建立和使用Jmeter测试环境(初学者)