IceStormInternal.ice
Go to the documentation of this file.
1
// **********************************************************************
2
//
3
// Copyright (c) 2003-2017 ZeroC, Inc. All rights reserved.
4
//
5
// This copy of Ice is licensed to you under the terms described in the
6
// ICE_LICENSE file included in this distribution.
7
//
8
// **********************************************************************
9
10
#pragma once
11
12
[[
"ice-prefix"
,
"cpp:header-ext:h"
]]
13
14
#include <IceStorm/IceStorm.ice>
15
#include <
IceStorm/Election.ice
>
16
#include <Ice/Current.ice>
17
#include <Ice/BuiltinSequences.ice>
18
#include <Ice/Identity.ice>
19
20
[[
"cpp:include:deque"
]]
21
22
module
IceStorm
23
{
24
25
/**
26
*
27
* The event data.
28
*
29
**/
30
[
"cpp:class"
]
struct
EventData
31
{
32
/** The operation name. */
33
string
op
;
34
/** The operation mode. */
35
Ice::OperationMode
mode
;
36
/** The encoded data for the operation's input parameters. */
37
Ice::ByteSeq
data
;
38
/** The Ice::Current::Context data from the originating request. */
39
Ice::Context
context
;
40
}
41
42
local exception
SendQueueSizeMaxReached
43
{
44
}
45
46
/** A sequence of EventData. */
47
[
"cpp:type:std::deque< ::IceStorm::EventDataPtr>"
] sequence<EventData>
EventDataSeq
;
48
49
/**
50
*
51
* The TopicLink interface. This is used to forward events between
52
* federated Topic instances.
53
*
54
* @see TopicInternal
55
*
56
**/
57
interface
TopicLink
58
{
59
/**
60
*
61
* Forward a sequence of events.
62
*
63
* @param events The events to forward.
64
*
65
**/
66
void
forward(
EventDataSeq
events);
67
}
68
69
/** Thrown if the reap call would block. */
70
exception ReapWouldBlock
71
{
72
}
73
74
/**
75
*
76
* Internal operations for a topic.
77
*
78
* @see Topic
79
*
80
**/
81
interface
TopicInternal
extends
Topic
82
{
83
/**
84
*
85
* Retrieve a proxy to the TopicLink interface.
86
*
87
* @return The TopicLink for the Topic.
88
*
89
**/
90
idempotent TopicLink* getLinkProxy();
91
92
/**
93
*
94
* Reap the given identities.
95
*
96
* @param id The sequence of identities.
97
*
98
* @throws ReapWouldBlock Raised if the reap call would block.
99
*
100
**/
101
void
reap(Ice::IdentitySeq
id
)
throws
ReapWouldBlock;
102
}
103
104
/**
105
*
106
* Internal operations for a topic manager.
107
*
108
* @see TopicManager
109
*
110
**/
111
interface
TopicManagerInternal
extends
TopicManager
112
{
113
/**
114
*
115
* Return the replica node proxy for this topic manager.
116
*
117
* @return The replica proxy, or null if this instance is not
118
* replicated.
119
*
120
**/
121
[
"cpp:const"
] idempotent
IceStormElection::Node
* getReplicaNode();
122
}
123
124
}
// End module IceStorm
IceStorm
Definition:
DBTypes.ice:22
IceStorm::EventData::op
string op
The operation name.
Definition:
IceStormInternal.ice:33
IceStorm::EventDataSeq
std::deque< ::IceStorm::EventDataPtr > EventDataSeq
A sequence of EventData.
Definition:
IceStormInternal.h:463
IceStorm::EventData::mode
Ice::OperationMode mode
The operation mode.
Definition:
IceStormInternal.ice:35
IceStorm::EventData::context
Ice::Context context
The Ice::Current::Context data from the originating request.
Definition:
IceStormInternal.ice:39
IceStormElection::Node
A replica node.
Definition:
Election.ice:202
IceStorm::EventData::data
Ice::ByteSeq data
The encoded data for the operation's input parameters.
Definition:
IceStormInternal.ice:37
Election.ice
IceStorm::SendQueueSizeMaxReached
Definition:
IceStormInternal.h:451
ArmarXCore
applications
ArmarXStorm
IceStorm
IceStormInternal.ice
Generated on Sat Oct 12 2024 09:14:01 for armarx_documentation by
1.8.17