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 <Ice/BuiltinSequences.ice>
15
#include <Ice/Current.ice>
16
#include <Ice/Identity.ice>
17
#include <
IceStorm/Election.ice
>
18
#include <IceStorm/IceStorm.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
/** A sequence of EventData. */
45
[
"cpp:type:std::deque< ::IceStorm::EventDataPtr>"
] sequence<EventData>
46
EventDataSeq
;
47
48
/**
49
*
50
* The TopicLink interface. This is used to forward events between
51
* federated Topic instances.
52
*
53
* @see TopicInternal
54
*
55
**/
56
interface
TopicLink
57
{
58
/**
59
*
60
* Forward a sequence of events.
61
*
62
* @param events The events to forward.
63
*
64
**/
65
void
forward(
EventDataSeq
events);
66
}
67
68
/** Thrown if the reap call would block. */
69
exception ReapWouldBlock
70
{
71
}
72
73
/**
74
*
75
* Internal operations for a topic.
76
*
77
* @see Topic
78
*
79
**/
80
interface
TopicInternal
extends
Topic
81
{
82
/**
83
*
84
* Retrieve a proxy to the TopicLink interface.
85
*
86
* @return The TopicLink for the Topic.
87
*
88
**/
89
idempotent TopicLink* getLinkProxy();
90
91
/**
92
*
93
* Reap the given identities.
94
*
95
* @param id The sequence of identities.
96
*
97
* @throws ReapWouldBlock Raised if the reap call would block.
98
*
99
**/
100
void
reap(Ice::IdentitySeq
id
)
throws
ReapWouldBlock;
101
}
102
103
/**
104
*
105
* Internal operations for a topic manager.
106
*
107
* @see TopicManager
108
*
109
**/
110
interface
TopicManagerInternal
extends
TopicManager
111
{
112
/**
113
*
114
* Return the replica node proxy for this topic manager.
115
*
116
* @return The replica proxy, or null if this instance is not
117
* replicated.
118
*
119
**/
120
[
"cpp:const"
] idempotent
IceStormElection::Node
* getReplicaNode();
121
}
122
123
}
// 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:528
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:517
ArmarXCore
applications
ArmarXStorm
IceStorm
IceStormInternal.ice
Generated on Sat Mar 29 2025 09:17:20 for armarx_documentation by
1.8.17