zeroc-ice 3.8.0__cp312-cp312-macosx_10_13_universal2.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (343) hide show
  1. Glacier2/CannotCreateSessionException.py +40 -0
  2. Glacier2/IdentitySet.py +293 -0
  3. Glacier2/IdentitySet_forward.py +10 -0
  4. Glacier2/PermissionDeniedException.py +40 -0
  5. Glacier2/PermissionsVerifier.py +189 -0
  6. Glacier2/PermissionsVerifier_forward.py +10 -0
  7. Glacier2/Router.py +661 -0
  8. Glacier2/Router_forward.py +10 -0
  9. Glacier2/SSLInfo.py +62 -0
  10. Glacier2/SSLPermissionsVerifier.py +186 -0
  11. Glacier2/SSLPermissionsVerifier_forward.py +10 -0
  12. Glacier2/SSLSessionManager.py +192 -0
  13. Glacier2/SSLSessionManager_forward.py +10 -0
  14. Glacier2/Session.py +161 -0
  15. Glacier2/SessionControl.py +407 -0
  16. Glacier2/SessionControl_forward.py +10 -0
  17. Glacier2/SessionManager.py +189 -0
  18. Glacier2/SessionManager_forward.py +10 -0
  19. Glacier2/SessionNotExistException.py +39 -0
  20. Glacier2/Session_forward.py +10 -0
  21. Glacier2/StringSet.py +289 -0
  22. Glacier2/StringSet_forward.py +10 -0
  23. Glacier2/__init__.py +79 -0
  24. Glacier2/py.typed +0 -0
  25. Ice/AdapterAlreadyActiveException.py +35 -0
  26. Ice/AdapterNotFoundException.py +35 -0
  27. Ice/BTEndpointType.py +11 -0
  28. Ice/BTSEndpointType.py +11 -0
  29. Ice/Blobject.py +42 -0
  30. Ice/BoolSeq.py +10 -0
  31. Ice/Builtin.py +11 -0
  32. Ice/ByteSeq.py +10 -0
  33. Ice/Communicator.py +621 -0
  34. Ice/CompressBatch.py +25 -0
  35. Ice/Context.py +10 -0
  36. Ice/Current.py +48 -0
  37. Ice/Dispatch.py +122 -0
  38. Ice/DoubleSeq.py +10 -0
  39. Ice/EncodingVersion.py +41 -0
  40. Ice/EndpointSelectionType.py +22 -0
  41. Ice/EventLoopAdapter.py +52 -0
  42. Ice/Exception.py +29 -0
  43. Ice/FloatSeq.py +10 -0
  44. Ice/FormatType.py +15 -0
  45. Ice/Future.py +375 -0
  46. Ice/IcePyTypes.py +47 -0
  47. Ice/Identity.py +40 -0
  48. Ice/IdentitySeq.py +12 -0
  49. Ice/ImplicitContext.py +126 -0
  50. Ice/InitializationData.py +64 -0
  51. Ice/IntSeq.py +10 -0
  52. Ice/InvalidReplicaGroupIdException.py +34 -0
  53. Ice/InvocationFuture.py +158 -0
  54. Ice/LocalException.py +12 -0
  55. Ice/LocalExceptions.py +546 -0
  56. Ice/Locator.py +332 -0
  57. Ice/LocatorFinder.py +163 -0
  58. Ice/LocatorFinder_forward.py +10 -0
  59. Ice/LocatorRegistry.py +387 -0
  60. Ice/LocatorRegistry_forward.py +10 -0
  61. Ice/Locator_forward.py +10 -0
  62. Ice/LogMessage.py +51 -0
  63. Ice/LogMessageSeq.py +12 -0
  64. Ice/LogMessageType.py +50 -0
  65. Ice/LogMessageTypeSeq.py +12 -0
  66. Ice/Logger.py +100 -0
  67. Ice/LoggerAdmin.py +380 -0
  68. Ice/LoggerAdmin_forward.py +10 -0
  69. Ice/LongSeq.py +10 -0
  70. Ice/Object.py +145 -0
  71. Ice/ObjectAdapter.py +588 -0
  72. Ice/ObjectNotFoundException.py +35 -0
  73. Ice/ObjectProxySeq.py +12 -0
  74. Ice/ObjectPrx.py +940 -0
  75. Ice/ObjectPrx_forward.py +7 -0
  76. Ice/ObjectSeq.py +12 -0
  77. Ice/OperationMode.py +47 -0
  78. Ice/Process.py +217 -0
  79. Ice/ProcessLogger.py +25 -0
  80. Ice/Process_forward.py +10 -0
  81. Ice/Properties.py +387 -0
  82. Ice/PropertiesAdmin.py +302 -0
  83. Ice/PropertiesAdmin_forward.py +10 -0
  84. Ice/PropertyDict.py +10 -0
  85. Ice/ProtocolVersion.py +39 -0
  86. Ice/Proxy.py +63 -0
  87. Ice/RemoteLogger.py +238 -0
  88. Ice/RemoteLoggerAlreadyAttachedException.py +34 -0
  89. Ice/RemoteLogger_forward.py +10 -0
  90. Ice/ReplyStatus.py +84 -0
  91. Ice/Router.py +322 -0
  92. Ice/RouterFinder.py +163 -0
  93. Ice/RouterFinder_forward.py +10 -0
  94. Ice/Router_forward.py +10 -0
  95. Ice/SSLEndpointType.py +11 -0
  96. Ice/ServantLocator.py +93 -0
  97. Ice/ServerNotFoundException.py +34 -0
  98. Ice/ShortSeq.py +10 -0
  99. Ice/SliceChecksumDict.py +10 -0
  100. Ice/SliceInfo.py +22 -0
  101. Ice/SlicedData.py +14 -0
  102. Ice/StringSeq.py +10 -0
  103. Ice/TCPEndpointType.py +11 -0
  104. Ice/ToStringMode.py +34 -0
  105. Ice/UDPEndpointType.py +11 -0
  106. Ice/URIEndpointType.py +11 -0
  107. Ice/UnknownSlicedValue.py +31 -0
  108. Ice/UserException.py +18 -0
  109. Ice/Util.py +170 -0
  110. Ice/Value.py +59 -0
  111. Ice/Value_forward.py +7 -0
  112. Ice/WSEndpointType.py +11 -0
  113. Ice/WSSEndpointType.py +11 -0
  114. Ice/_ArrayUtil.py +51 -0
  115. Ice/_LoggerI.py +32 -0
  116. Ice/__init__.py +367 -0
  117. Ice/asyncio/EventLoopAdapter.py +31 -0
  118. Ice/asyncio/__init__.py +5 -0
  119. Ice/iAPEndpointType.py +11 -0
  120. Ice/iAPSEndpointType.py +11 -0
  121. Ice/py.typed +0 -0
  122. IceBox/AlreadyStartedException.py +34 -0
  123. IceBox/AlreadyStoppedException.py +34 -0
  124. IceBox/NoSuchServiceException.py +34 -0
  125. IceBox/ServiceManager.py +447 -0
  126. IceBox/ServiceManager_forward.py +10 -0
  127. IceBox/ServiceObserver.py +229 -0
  128. IceBox/ServiceObserver_forward.py +10 -0
  129. IceBox/__init__.py +33 -0
  130. IceBox/py.typed +0 -0
  131. IceGrid/AccessDeniedException.py +40 -0
  132. IceGrid/AdapterDescriptor.py +77 -0
  133. IceGrid/AdapterDescriptorSeq.py +12 -0
  134. IceGrid/AdapterDynamicInfo.py +46 -0
  135. IceGrid/AdapterDynamicInfoSeq.py +12 -0
  136. IceGrid/AdapterInfo.py +50 -0
  137. IceGrid/AdapterInfoSeq.py +12 -0
  138. IceGrid/AdapterNotExistException.py +40 -0
  139. IceGrid/AdapterObserver.py +338 -0
  140. IceGrid/AdapterObserver_forward.py +10 -0
  141. IceGrid/AdaptiveLoadBalancingPolicy.py +48 -0
  142. IceGrid/AdaptiveLoadBalancingPolicy_forward.py +10 -0
  143. IceGrid/Admin.py +3662 -0
  144. IceGrid/AdminSession.py +1406 -0
  145. IceGrid/AdminSession_forward.py +10 -0
  146. IceGrid/Admin_forward.py +10 -0
  147. IceGrid/AllocationException.py +40 -0
  148. IceGrid/AllocationTimeoutException.py +35 -0
  149. IceGrid/ApplicationDescriptor.py +89 -0
  150. IceGrid/ApplicationDescriptorSeq.py +12 -0
  151. IceGrid/ApplicationInfo.py +63 -0
  152. IceGrid/ApplicationInfoSeq.py +12 -0
  153. IceGrid/ApplicationNotExistException.py +40 -0
  154. IceGrid/ApplicationObserver.py +374 -0
  155. IceGrid/ApplicationObserver_forward.py +10 -0
  156. IceGrid/ApplicationUpdateDescriptor.py +118 -0
  157. IceGrid/ApplicationUpdateInfo.py +51 -0
  158. IceGrid/BadSignalException.py +40 -0
  159. IceGrid/BoxedDistributionDescriptor.py +49 -0
  160. IceGrid/BoxedDistributionDescriptor_forward.py +10 -0
  161. IceGrid/BoxedString.py +45 -0
  162. IceGrid/BoxedString_forward.py +10 -0
  163. IceGrid/CommunicatorDescriptor.py +79 -0
  164. IceGrid/CommunicatorDescriptor_forward.py +10 -0
  165. IceGrid/DbEnvDescriptor.py +55 -0
  166. IceGrid/DbEnvDescriptorSeq.py +12 -0
  167. IceGrid/DeploymentException.py +40 -0
  168. IceGrid/DistributionDescriptor.py +42 -0
  169. IceGrid/FileIterator.py +246 -0
  170. IceGrid/FileIterator_forward.py +10 -0
  171. IceGrid/FileNotAvailableException.py +49 -0
  172. IceGrid/FileParser.py +182 -0
  173. IceGrid/FileParser_forward.py +10 -0
  174. IceGrid/IceBoxDescriptor.py +55 -0
  175. IceGrid/IceBoxDescriptor_forward.py +10 -0
  176. IceGrid/LoadBalancingPolicy.py +45 -0
  177. IceGrid/LoadBalancingPolicy_forward.py +10 -0
  178. IceGrid/LoadInfo.py +43 -0
  179. IceGrid/LoadSample.py +45 -0
  180. IceGrid/Locator.py +232 -0
  181. IceGrid/Locator_forward.py +10 -0
  182. IceGrid/NodeDescriptor.py +71 -0
  183. IceGrid/NodeDescriptorDict.py +12 -0
  184. IceGrid/NodeDynamicInfo.py +57 -0
  185. IceGrid/NodeDynamicInfoSeq.py +12 -0
  186. IceGrid/NodeInfo.py +64 -0
  187. IceGrid/NodeNotExistException.py +40 -0
  188. IceGrid/NodeObserver.py +424 -0
  189. IceGrid/NodeObserver_forward.py +10 -0
  190. IceGrid/NodeUnreachableException.py +46 -0
  191. IceGrid/NodeUpdateDescriptor.py +92 -0
  192. IceGrid/NodeUpdateDescriptorSeq.py +12 -0
  193. IceGrid/ObjectDescriptor.py +48 -0
  194. IceGrid/ObjectDescriptorSeq.py +12 -0
  195. IceGrid/ObjectExistsException.py +44 -0
  196. IceGrid/ObjectInfo.py +46 -0
  197. IceGrid/ObjectInfoSeq.py +12 -0
  198. IceGrid/ObjectNotRegisteredException.py +44 -0
  199. IceGrid/ObjectObserver.py +347 -0
  200. IceGrid/ObjectObserver_forward.py +10 -0
  201. IceGrid/ObserverAlreadyRegisteredException.py +49 -0
  202. IceGrid/OrderedLoadBalancingPolicy.py +41 -0
  203. IceGrid/OrderedLoadBalancingPolicy_forward.py +10 -0
  204. IceGrid/ParseException.py +40 -0
  205. IceGrid/PermissionDeniedException.py +40 -0
  206. IceGrid/PropertyDescriptor.py +39 -0
  207. IceGrid/PropertyDescriptorSeq.py +12 -0
  208. IceGrid/PropertySetDescriptor.py +49 -0
  209. IceGrid/PropertySetDescriptorDict.py +12 -0
  210. IceGrid/Query.py +451 -0
  211. IceGrid/Query_forward.py +10 -0
  212. IceGrid/RandomLoadBalancingPolicy.py +41 -0
  213. IceGrid/RandomLoadBalancingPolicy_forward.py +10 -0
  214. IceGrid/Registry.py +477 -0
  215. IceGrid/RegistryInfo.py +39 -0
  216. IceGrid/RegistryInfoSeq.py +12 -0
  217. IceGrid/RegistryNotExistException.py +40 -0
  218. IceGrid/RegistryObserver.py +282 -0
  219. IceGrid/RegistryObserver_forward.py +10 -0
  220. IceGrid/RegistryUnreachableException.py +46 -0
  221. IceGrid/Registry_forward.py +10 -0
  222. IceGrid/ReplicaGroupDescriptor.py +66 -0
  223. IceGrid/ReplicaGroupDescriptorSeq.py +12 -0
  224. IceGrid/RoundRobinLoadBalancingPolicy.py +41 -0
  225. IceGrid/RoundRobinLoadBalancingPolicy_forward.py +10 -0
  226. IceGrid/ServerDescriptor.py +107 -0
  227. IceGrid/ServerDescriptorSeq.py +12 -0
  228. IceGrid/ServerDescriptor_forward.py +10 -0
  229. IceGrid/ServerDynamicInfo.py +50 -0
  230. IceGrid/ServerDynamicInfoSeq.py +12 -0
  231. IceGrid/ServerInfo.py +62 -0
  232. IceGrid/ServerInstanceDescriptor.py +58 -0
  233. IceGrid/ServerInstanceDescriptorSeq.py +12 -0
  234. IceGrid/ServerNotExistException.py +40 -0
  235. IceGrid/ServerStartException.py +46 -0
  236. IceGrid/ServerState.py +66 -0
  237. IceGrid/ServerStopException.py +46 -0
  238. IceGrid/ServiceDescriptor.py +53 -0
  239. IceGrid/ServiceDescriptorSeq.py +12 -0
  240. IceGrid/ServiceDescriptor_forward.py +10 -0
  241. IceGrid/ServiceInstanceDescriptor.py +60 -0
  242. IceGrid/ServiceInstanceDescriptorSeq.py +12 -0
  243. IceGrid/Session.py +498 -0
  244. IceGrid/Session_forward.py +10 -0
  245. IceGrid/StringObjectProxyDict.py +12 -0
  246. IceGrid/StringStringDict.py +10 -0
  247. IceGrid/TemplateDescriptor.py +55 -0
  248. IceGrid/TemplateDescriptorDict.py +12 -0
  249. IceGrid/UserAccountMapper.py +178 -0
  250. IceGrid/UserAccountMapper_forward.py +10 -0
  251. IceGrid/UserAccountNotFoundException.py +34 -0
  252. IceGrid/__init__.py +375 -0
  253. IceGrid/py.typed +0 -0
  254. IceMX/ChildInvocationMetrics.py +56 -0
  255. IceMX/ChildInvocationMetrics_forward.py +10 -0
  256. IceMX/CollocatedMetrics.py +42 -0
  257. IceMX/CollocatedMetrics_forward.py +10 -0
  258. IceMX/ConnectionMetrics.py +53 -0
  259. IceMX/ConnectionMetrics_forward.py +10 -0
  260. IceMX/DispatchMetrics.py +57 -0
  261. IceMX/DispatchMetrics_forward.py +10 -0
  262. IceMX/InvocationMetrics.py +66 -0
  263. IceMX/InvocationMetrics_forward.py +10 -0
  264. IceMX/Metrics.py +66 -0
  265. IceMX/MetricsAdmin.py +586 -0
  266. IceMX/MetricsAdmin_forward.py +10 -0
  267. IceMX/MetricsFailures.py +42 -0
  268. IceMX/MetricsFailuresSeq.py +12 -0
  269. IceMX/MetricsMap.py +12 -0
  270. IceMX/MetricsView.py +12 -0
  271. IceMX/Metrics_forward.py +10 -0
  272. IceMX/RemoteMetrics.py +42 -0
  273. IceMX/RemoteMetrics_forward.py +10 -0
  274. IceMX/SessionMetrics.py +73 -0
  275. IceMX/SessionMetrics_forward.py +10 -0
  276. IceMX/StringIntDict.py +10 -0
  277. IceMX/SubscriberMetrics.py +57 -0
  278. IceMX/SubscriberMetrics_forward.py +10 -0
  279. IceMX/ThreadMetrics.py +59 -0
  280. IceMX/ThreadMetrics_forward.py +10 -0
  281. IceMX/TopicMetrics.py +53 -0
  282. IceMX/TopicMetrics_forward.py +10 -0
  283. IceMX/UnknownMetricsView.py +34 -0
  284. IceMX/__init__.py +75 -0
  285. IceMX/py.typed +0 -0
  286. IcePy-stubs/__init__.pyi +740 -0
  287. IcePy.cpython-312-darwin.so +0 -0
  288. IceStorm/AlreadySubscribed.py +34 -0
  289. IceStorm/BadQoS.py +40 -0
  290. IceStorm/Finder.py +163 -0
  291. IceStorm/Finder_forward.py +10 -0
  292. IceStorm/LinkExists.py +40 -0
  293. IceStorm/LinkInfo.py +50 -0
  294. IceStorm/LinkInfoSeq.py +12 -0
  295. IceStorm/NoSuchLink.py +40 -0
  296. IceStorm/NoSuchTopic.py +40 -0
  297. IceStorm/QoS.py +10 -0
  298. IceStorm/Topic.py +825 -0
  299. IceStorm/TopicDict.py +12 -0
  300. IceStorm/TopicExists.py +40 -0
  301. IceStorm/TopicManager.py +394 -0
  302. IceStorm/TopicManager_forward.py +10 -0
  303. IceStorm/Topic_forward.py +10 -0
  304. IceStorm/__init__.py +61 -0
  305. IceStorm/py.typed +0 -0
  306. slice/DataStorm/SampleEvent.ice +29 -0
  307. slice/Glacier2/Metrics.ice +47 -0
  308. slice/Glacier2/PermissionsVerifier.ice +55 -0
  309. slice/Glacier2/Router.ice +93 -0
  310. slice/Glacier2/SSLInfo.ice +42 -0
  311. slice/Glacier2/Session.ice +133 -0
  312. slice/Ice/BuiltinSequences.ice +54 -0
  313. slice/Ice/Context.ice +24 -0
  314. slice/Ice/EndpointTypes.ice +50 -0
  315. slice/Ice/Identity.ice +36 -0
  316. slice/Ice/Locator.ice +74 -0
  317. slice/Ice/LocatorRegistry.ice +77 -0
  318. slice/Ice/Metrics.ice +201 -0
  319. slice/Ice/OperationMode.ice +38 -0
  320. slice/Ice/Process.ice +28 -0
  321. slice/Ice/PropertiesAdmin.ice +37 -0
  322. slice/Ice/PropertyDict.ice +23 -0
  323. slice/Ice/RemoteLogger.ice +126 -0
  324. slice/Ice/ReplyStatus.ice +65 -0
  325. slice/Ice/Router.ice +54 -0
  326. slice/Ice/SliceChecksumDict.ice +18 -0
  327. slice/Ice/Version.ice +43 -0
  328. slice/IceBox/ServiceManager.ice +79 -0
  329. slice/IceGrid/Admin.ice +981 -0
  330. slice/IceGrid/Descriptor.ice +519 -0
  331. slice/IceGrid/Exception.ice +98 -0
  332. slice/IceGrid/FileParser.ice +36 -0
  333. slice/IceGrid/Registry.ice +130 -0
  334. slice/IceGrid/Session.ice +64 -0
  335. slice/IceGrid/UserAccountMapper.ice +34 -0
  336. slice/IceStorm/IceStorm.ice +186 -0
  337. slice/IceStorm/Metrics.ice +41 -0
  338. slice2py.py +20 -0
  339. zeroc_ice-3.8.0.dist-info/METADATA +106 -0
  340. zeroc_ice-3.8.0.dist-info/RECORD +343 -0
  341. zeroc_ice-3.8.0.dist-info/WHEEL +5 -0
  342. zeroc_ice-3.8.0.dist-info/entry_points.txt +2 -0
  343. zeroc_ice-3.8.0.dist-info/top_level.txt +10 -0
slice/Ice/Metrics.ice ADDED
@@ -0,0 +1,201 @@
1
+ // Copyright (c) ZeroC, Inc.
2
+
3
+ #pragma once
4
+
5
+ [["cpp:dll-export:ICE_API"]]
6
+ [["cpp:doxygen:include:Ice/Ice.h"]]
7
+ [["cpp:header-ext:h"]]
8
+
9
+ [["js:module:@zeroc/ice"]]
10
+
11
+ #include "BuiltinSequences.ice"
12
+
13
+ /// The Ice Management eXtension facility.
14
+ ["java:identifier:com.zeroc.IceMX"]
15
+ ["swift:identifier:Ice"]
16
+ module IceMX
17
+ {
18
+ /// A dictionary of strings to integers.
19
+ dictionary<string, int> StringIntDict;
20
+
21
+ /// The base class for metrics. A metrics object represents a collection of measurements associated to a given a
22
+ /// system.
23
+ class Metrics
24
+ {
25
+ /// The metrics identifier.
26
+ string id;
27
+
28
+ /// The total number of objects observed by this metrics. This includes the number of currently observed objects
29
+ /// and the number of objects observed in the past.
30
+ long total = 0;
31
+
32
+ /// The number of objects currently observed by this metrics.
33
+ int current = 0;
34
+
35
+ /// The sum of the lifetime of each observed objects. This does not include the lifetime of objects which are
36
+ /// currently observed, only the objects observed in the past.
37
+ long totalLifetime = 0;
38
+
39
+ /// The number of failures observed.
40
+ int failures = 0;
41
+ }
42
+
43
+ /// Keeps track of metrics failures.
44
+ struct MetricsFailures
45
+ {
46
+ /// The identifier of the metrics object associated to the failures.
47
+ string id;
48
+
49
+ /// The failures observed for this metrics.
50
+ StringIntDict failures;
51
+ }
52
+
53
+ /// A sequence of {@link MetricsFailures}.
54
+ sequence<MetricsFailures> MetricsFailuresSeq;
55
+
56
+ /// A sequence of metrics.
57
+ /// @remark We use a sequence here instead of a map because the ID of the metrics is already included in the Metrics
58
+ /// class and using sequences of metrics objects is more efficient than using dictionaries since lookups are not
59
+ /// necessary.
60
+ sequence<Metrics> MetricsMap;
61
+
62
+ /// A metrics view is a dictionary of metrics maps. The key of the dictionary is the name of the metrics map.
63
+ dictionary<string, MetricsMap> MetricsView;
64
+
65
+ /// The exception that is thrown when a metrics view cannot be found.
66
+ exception UnknownMetricsView
67
+ {
68
+ }
69
+
70
+ /// The metrics administrative facet interface. This interface allows remote administrative clients to access the
71
+ /// metrics of an application that enabled the Ice administrative facility and configured one or more metrics views.
72
+ interface MetricsAdmin
73
+ {
74
+ /// Gets the names of enabled and disabled metrics.
75
+ /// @param disabledViews The names of the disabled views.
76
+ /// @return The names of the enabled views.
77
+ Ice::StringSeq getMetricsViewNames(out Ice::StringSeq disabledViews);
78
+
79
+ /// Enables a metrics view.
80
+ /// @param name The metrics view name.
81
+ /// @throws UnknownMetricsView Thrown when the metrics view cannot be found.
82
+ void enableMetricsView(string name)
83
+ throws UnknownMetricsView;
84
+
85
+ /// Disables a metrics view.
86
+ /// @param name The metrics view name.
87
+ /// @throws UnknownMetricsView Thrown when the metrics view cannot be found.
88
+ void disableMetricsView(string name)
89
+ throws UnknownMetricsView;
90
+
91
+ /// Gets the metrics objects for the given metrics view.
92
+ /// @param view The name of the metrics view.
93
+ /// @param timestamp The local time of the process when the metrics objects were retrieved.
94
+ /// @return The metrics view data, a dictionary of metric maps for each metrics class configured with the view.
95
+ /// The @p timestamp allows the client to compute averages which are not dependent of the invocation latency for
96
+ /// this operation.
97
+ /// @throws UnknownMetricsView Thrown when the metrics view cannot be found.
98
+ ["format:sliced"]
99
+ MetricsView getMetricsView(string view, out long timestamp)
100
+ throws UnknownMetricsView;
101
+
102
+ /// Gets the metrics failures associated with the given @p view and @p map.
103
+ /// @param view The name of the metrics view.
104
+ /// @param map The name of the metrics map.
105
+ /// @return The metrics failures associated with the map.
106
+ /// @throws UnknownMetricsView Thrown when the metrics view cannot be found.
107
+ MetricsFailuresSeq getMapMetricsFailures(string view, string map)
108
+ throws UnknownMetricsView;
109
+
110
+ /// Gets the metrics failure associated for the given metrics.
111
+ /// @param view The name of the metrics view.
112
+ /// @param map The name of the metrics map.
113
+ /// @param id The ID of the metrics.
114
+ /// @return The metrics failures associated with the metrics.
115
+ /// @throws UnknownMetricsView Thrown when the metrics view cannot be found.
116
+ MetricsFailures getMetricsFailures(string view, string map, string id)
117
+ throws UnknownMetricsView;
118
+ }
119
+
120
+ /// Provides information on the number of threads currently in use and their activity.
121
+ class ThreadMetrics extends Metrics
122
+ {
123
+ /// The number of threads which are currently performing socket reads or writes.
124
+ int inUseForIO = 0;
125
+
126
+ /// The number of threads which are currently calling user code (servant dispatch, AMI callbacks, etc).
127
+ int inUseForUser = 0;
128
+
129
+ /// The number of threads which are currently performing other activities such as DNS lookups, garbage
130
+ /// collection, etc. These are all the other threads created by the Ice runtime that are not counted in
131
+ /// {@link #inUseForUser} or {@link #inUseForIO}.
132
+ int inUseForOther = 0;
133
+ }
134
+
135
+ /// Provides information on servant dispatches.
136
+ class DispatchMetrics extends Metrics
137
+ {
138
+ /// The number of dispatches that failed with a user exception.
139
+ int userException = 0;
140
+
141
+ /// The size of the incoming requests. This corresponds to the size of the marshaled input parameters.
142
+ long size = 0;
143
+
144
+ /// The size of the replies. This corresponds to the size of the marshaled output and return parameters.
145
+ long replySize = 0;
146
+ }
147
+
148
+ /// Provides information on child invocations. A child invocation is either remote (sent over an Ice connection) or
149
+ /// collocated. An invocation can have multiple child invocations if it is retried. Child invocation metrics are
150
+ /// embedded within {@link InvocationMetrics}.
151
+ class ChildInvocationMetrics extends Metrics
152
+ {
153
+ /// The size of the invocation. This corresponds to the size of the marshaled input parameters.
154
+ long size = 0;
155
+
156
+ /// The size of the invocation reply. This corresponds to the size of the marshaled output and return
157
+ /// parameters.
158
+ long replySize = 0;
159
+ }
160
+
161
+ /// Provides information on invocations that are collocated. Collocated metrics are embedded within
162
+ /// {@link InvocationMetrics}.
163
+ class CollocatedMetrics extends ChildInvocationMetrics
164
+ {
165
+ }
166
+
167
+ /// Provides information on invocations that are specifically sent over Ice connections. Remote metrics are embedded
168
+ /// within {@link InvocationMetrics}.
169
+ class RemoteMetrics extends ChildInvocationMetrics
170
+ {
171
+ }
172
+
173
+ /// Provide measurements for proxy invocations. Proxy invocations can either be sent over the wire or be collocated.
174
+ class InvocationMetrics extends Metrics
175
+ {
176
+ /// The number of retries for the invocations.
177
+ ["ruby:identifier:retryCount"]
178
+ int retry = 0;
179
+
180
+ /// The number of invocations that failed with a user exception.
181
+ int userException = 0;
182
+
183
+ /// The remote invocation metrics map.
184
+ /// @see RemoteMetrics
185
+ MetricsMap remotes;
186
+
187
+ /// The collocated invocation metrics map.
188
+ /// @see CollocatedMetrics
189
+ MetricsMap collocated;
190
+ }
191
+
192
+ /// Provides information on the data sent and received over Ice connections.
193
+ class ConnectionMetrics extends Metrics
194
+ {
195
+ /// The number of bytes received by the connection.
196
+ long receivedBytes = 0;
197
+
198
+ /// The number of bytes sent by the connection.
199
+ long sentBytes = 0;
200
+ }
201
+ }
@@ -0,0 +1,38 @@
1
+ // Copyright (c) ZeroC, Inc.
2
+
3
+ #pragma once
4
+
5
+ [["cpp:dll-export:ICE_API"]]
6
+ [["cpp:doxygen:include:Ice/Ice.h"]]
7
+ [["cpp:header-ext:h"]]
8
+
9
+ [["cpp:no-default-include"]]
10
+ [["cpp:include:Ice/Config.h"]]
11
+ [["cpp:include:Ice/StreamHelpers.h"]]
12
+
13
+ [["js:module:@zeroc/ice"]]
14
+
15
+ ["java:identifier:com.zeroc.Ice"]
16
+ module Ice
17
+ {
18
+ /// Specifies if an operation is idempotent, which affects the retry behavior of the Ice client runtime.
19
+ enum OperationMode
20
+ {
21
+ /// A non-idempotent operation (the default). The Ice client runtime guarantees that it will not violate
22
+ /// at-most-once semantics for operations with this mode.
23
+ ["swift:identifier:normal"]
24
+ Normal,
25
+
26
+ /// Equivalent to {@link #Idempotent}, but deprecated.
27
+ ["deprecated:Use Idempotent instead."]
28
+ ["swift:identifier:nonmutating"]
29
+ Nonmutating,
30
+
31
+ /// An idempotent operation. The Ice client runtime does not guarantee at-most-once semantics for such an
32
+ /// operation.
33
+ /// @remark When an operation is idempotent, the Ice runtime will attempt to transparently recover from certain
34
+ /// runtime errors by re-issuing a failed request transparently.
35
+ ["swift:identifier:idempotent"]
36
+ Idempotent
37
+ }
38
+ }
slice/Ice/Process.ice ADDED
@@ -0,0 +1,28 @@
1
+ // Copyright (c) ZeroC, Inc.
2
+
3
+ #pragma once
4
+
5
+ [["cpp:dll-export:ICE_API"]]
6
+ [["cpp:doxygen:include:Ice/Ice.h"]]
7
+ [["cpp:header-ext:h"]]
8
+
9
+ [["js:module:@zeroc/ice"]]
10
+
11
+ #include "LocatorRegistry.ice"
12
+
13
+ ["java:identifier:com.zeroc.Ice"]
14
+ module Ice
15
+ {
16
+ /// A server application managed by a locator implementation such as IceGrid hosts a Process object and registers a
17
+ /// proxy to this object with the locator registry. See {@link LocatorRegistry::setServerProcessProxy}.
18
+ interface Process
19
+ {
20
+ /// Initiates a graceful shutdown of the server application.
21
+ void shutdown();
22
+
23
+ /// Writes a message on the server application's stdout or stderr.
24
+ /// @param message The message to write.
25
+ /// @param fd 1 for stdout, 2 for stderr.
26
+ void writeMessage(string message, int fd);
27
+ }
28
+ }
@@ -0,0 +1,37 @@
1
+ // Copyright (c) ZeroC, Inc.
2
+
3
+ #pragma once
4
+
5
+ [["cpp:dll-export:ICE_API"]]
6
+ [["cpp:doxygen:include:Ice/Ice.h"]]
7
+ [["cpp:header-ext:h"]]
8
+
9
+ [["js:module:@zeroc/ice"]]
10
+
11
+ #include "PropertyDict.ice"
12
+
13
+ ["java:identifier:com.zeroc.Ice"]
14
+ module Ice
15
+ {
16
+ /// Provides remote access to the properties of a communicator.
17
+ interface PropertiesAdmin
18
+ {
19
+ /// Gets a property by key.
20
+ /// @param key The property key.
21
+ /// @return The property value. This value is empty if the property is not set.
22
+ string getProperty(string key);
23
+
24
+ /// Gets all properties whose keys begin with @p prefix. If @p prefix is the empty string then all properties
25
+ /// are returned.
26
+ /// @param prefix The prefix to search for. May be empty.
27
+ /// @return The matching property set.
28
+ ["java:type:java.util.TreeMap<String, String>"] PropertyDict getPropertiesForPrefix(string prefix);
29
+
30
+ /// Updates the communicator's properties with the given property set. If an entry in @p newProperties matches
31
+ /// the name of an existing property, that property's value is replaced with the new value. If the new value is
32
+ /// the empty string, the property is removed. Existing properties that are not modified or removed by the
33
+ /// entries in @p newProperties are not affected by this update.
34
+ /// @param newProperties Properties to add, change, or remove.
35
+ void setProperties(PropertyDict newProperties);
36
+ }
37
+ }
@@ -0,0 +1,23 @@
1
+ // Copyright (c) ZeroC, Inc.
2
+
3
+ #pragma once
4
+
5
+ [["cpp:dll-export:ICE_API"]]
6
+ [["cpp:doxygen:include:Ice/Ice.h"]]
7
+ [["cpp:header-ext:h"]]
8
+
9
+ [["cpp:no-default-include"]]
10
+ [["cpp:include:Ice/Config.h"]]
11
+ [["cpp:include:map"]]
12
+ [["cpp:include:string"]]
13
+
14
+ [["js:module:@zeroc/ice"]]
15
+
16
+ ["java:identifier:com.zeroc.Ice"]
17
+ module Ice
18
+ {
19
+ /// A simple collection of properties, represented as a dictionary of key/value pairs. Both key and value are
20
+ /// strings.
21
+ ["cpp:type:std::map<std::string, std::string, std::less<>>"]
22
+ dictionary<string, string> PropertyDict;
23
+ }
@@ -0,0 +1,126 @@
1
+ // Copyright (c) ZeroC, Inc.
2
+
3
+ #pragma once
4
+
5
+ [["cpp:dll-export:ICE_API"]]
6
+ [["cpp:doxygen:include:Ice/Ice.h"]]
7
+ [["cpp:header-ext:h"]]
8
+
9
+ [["cpp:include:list"]]
10
+
11
+ [["js:module:@zeroc/ice"]]
12
+
13
+ #include "BuiltinSequences.ice"
14
+
15
+ ["java:identifier:com.zeroc.Ice"]
16
+ module Ice
17
+ {
18
+ /// Represents the different types of log messages.
19
+ enum LogMessageType
20
+ {
21
+ /// The {@link RemoteLogger} received a print message.
22
+ ["swift:identifier:printMessage"]
23
+ PrintMessage,
24
+
25
+ /// The {@link RemoteLogger} received a trace message.
26
+ ["swift:identifier:traceMessage"]
27
+ TraceMessage,
28
+
29
+ /// The {@link RemoteLogger} received a warning message.
30
+ ["swift:identifier:warningMessage"]
31
+ WarningMessage,
32
+
33
+ /// The {@link RemoteLogger} received an error message.
34
+ ["swift:identifier:errorMessage"]
35
+ ErrorMessage
36
+ }
37
+
38
+ /// A sequence of {@link LogMessageType}.
39
+ sequence<LogMessageType> LogMessageTypeSeq;
40
+
41
+ /// Represents a full log message.
42
+ struct LogMessage
43
+ {
44
+ /// The type of message sent to the {@link RemoteLogger}.
45
+ LogMessageType type;
46
+
47
+ /// The date and time when the {@link RemoteLogger} received this message, expressed as the number of
48
+ /// microseconds since the Unix Epoch (00:00:00 UTC on 1 January 1970).
49
+ long timestamp;
50
+
51
+ /// For a message of type 'trace', the trace category of this log message; otherwise, the empty string.
52
+ string traceCategory;
53
+
54
+ /// The log message itself.
55
+ string message;
56
+ }
57
+
58
+ /// A sequence of {@link LogMessage}.
59
+ ["cpp:type:std::list<LogMessage>"]
60
+ sequence<LogMessage> LogMessageSeq;
61
+
62
+ /// Represents an Ice object that accepts log messages. It's called by the implementation of {@link LoggerAdmin}.
63
+ interface RemoteLogger
64
+ {
65
+ /// Attaches a remote logger to the local logger.
66
+ /// @param prefix The prefix of the associated local Logger.
67
+ /// @param logMessages Old log messages generated before "now".
68
+ ["swift:identifier:initialize"]
69
+ void init(string prefix, LogMessageSeq logMessages);
70
+
71
+ /// Logs a LogMessage.
72
+ /// @param message The message to log.
73
+ /// @remark {@link log} may be called by {@link LoggerAdmin} before {@link init}.
74
+ void log(LogMessage message);
75
+ }
76
+
77
+ /// Thrown when the provided {@link RemoteLogger} was previously attached to a {@link LoggerAdmin}.
78
+ exception RemoteLoggerAlreadyAttachedException
79
+ {
80
+ }
81
+
82
+ /// Represents the admin facet that allows an Ice application to attach its {@link RemoteLogger} to the local
83
+ /// logger of an Ice communicator.
84
+ interface LoggerAdmin
85
+ {
86
+ /// Attaches a {@link RemoteLogger} object to the local logger. This operation calls {@link RemoteLogger::init}
87
+ /// on @p prx.
88
+ /// @param prx A proxy to the remote logger.
89
+ /// @param messageTypes The list of message types that the remote logger wishes to receive. An empty list means
90
+ /// no filtering (send all message types).
91
+ /// @param traceCategories The categories of traces that the remote logger wishes to receive. This parameter is
92
+ /// ignored if @p messageTypes is not empty and does not include trace. An empty list means no filtering
93
+ /// (send all trace categories).
94
+ /// @param messageMax The maximum number of log messages (of all types) to be provided to
95
+ /// {@link RemoteLogger::init}. A negative value requests all messages available.
96
+ /// @throws RemoteLoggerAlreadyAttachedException Thrown if this remote logger is already attached to this admin
97
+ /// object.
98
+ void attachRemoteLogger(
99
+ RemoteLogger* prx,
100
+ LogMessageTypeSeq messageTypes,
101
+ StringSeq traceCategories,
102
+ int messageMax)
103
+ throws RemoteLoggerAlreadyAttachedException;
104
+
105
+ /// Detaches a {@link RemoteLogger} object from the local logger.
106
+ /// @param prx A proxy to the remote logger.
107
+ /// @return `true` if the provided remote logger proxy was detached, and `false` otherwise.
108
+ bool detachRemoteLogger(RemoteLogger* prx);
109
+
110
+ /// Retrieves recently logged log messages.
111
+ /// @param messageTypes The list of message types that the caller wishes to receive. An empty list means no
112
+ /// filtering (send all message types).
113
+ /// @param traceCategories The categories of traces that caller wish to receive. This parameter is ignored if
114
+ /// @p messageTypes is not empty and does not include trace. An empty list means no filtering (send all trace
115
+ /// categories).
116
+ /// @param messageMax The maximum number of log messages (of all types) to be returned. A negative value
117
+ /// requests all messages available.
118
+ /// @param prefix The prefix of the associated local logger.
119
+ /// @return The Log messages.
120
+ LogMessageSeq getLog(
121
+ LogMessageTypeSeq messageTypes,
122
+ StringSeq traceCategories,
123
+ int messageMax,
124
+ out string prefix);
125
+ }
126
+ }
@@ -0,0 +1,65 @@
1
+ // Copyright (c) ZeroC, Inc.
2
+
3
+ #pragma once
4
+
5
+ [["cpp:dll-export:ICE_API"]]
6
+ [["cpp:doxygen:include:Ice/Ice.h"]]
7
+ [["cpp:header-ext:h"]]
8
+
9
+ [["cpp:no-default-include"]]
10
+ [["cpp:include:Ice/Config.h"]]
11
+ [["cpp:include:Ice/StreamHelpers.h"]]
12
+
13
+ [["js:module:@zeroc/ice"]]
14
+
15
+ ["java:identifier:com.zeroc.Ice"]
16
+ module Ice
17
+ {
18
+ /// Represents the status of a reply.
19
+ /// A reply status can have any value in the range 0..255. Do not use this enum to marshal or unmarshal a reply
20
+ /// status unless you know its value corresponds to one of the enumerators defined below.
21
+ enum ReplyStatus
22
+ {
23
+ /// The dispatch completed successfully.
24
+ ["swift:identifier:ok"]
25
+ Ok = 0,
26
+
27
+ /// The dispatch completed with a Slice user exception.
28
+ ["swift:identifier:userException"]
29
+ UserException,
30
+
31
+ /// The dispatch could not find an implementation for the target object.
32
+ ["swift:identifier:objectNotExist"]
33
+ ObjectNotExist,
34
+
35
+ /// The dispatch found an implementation for the target object but could not find the requested facet.
36
+ ["swift:identifier:facetNotExist"]
37
+ FacetNotExist,
38
+
39
+ /// The dispatch found an implementation for the target object but could not find the requested operation.
40
+ ["swift:identifier:operationNotExist"]
41
+ OperationNotExist,
42
+
43
+ /// The dispatch failed with an Ice local exception.
44
+ ["swift:identifier:unknownLocalException"]
45
+ UnknownLocalException,
46
+
47
+ /// The dispatch failed with a Slice user exception that does not conform to the exception specification of
48
+ /// the operation.
49
+ ["swift:identifier:unknownUserException"]
50
+ UnknownUserException,
51
+
52
+ /// The dispatch failed with some other exception (neither an Ice local exception nor a Slice user exception).
53
+ ["swift:identifier:unknownException"]
54
+ UnknownException,
55
+
56
+ /// The dispatch failed because the request payload could not be unmarshaled. It is typically due to a mismatch
57
+ /// in the Slice definitions used by the client and the server.
58
+ ["swift:identifier:invalidData"]
59
+ InvalidData,
60
+
61
+ /// The caller is not authorized to access the requested resource.
62
+ ["swift:identifier:unauthorized"]
63
+ Unauthorized,
64
+ }
65
+ }
slice/Ice/Router.ice ADDED
@@ -0,0 +1,54 @@
1
+ // Copyright (c) ZeroC, Inc.
2
+
3
+ #pragma once
4
+
5
+ [["cpp:dll-export:ICE_API"]]
6
+ [["cpp:doxygen:include:Ice/Ice.h"]]
7
+ [["cpp:header-ext:h"]]
8
+
9
+ [["js:module:@zeroc/ice"]]
10
+
11
+ #include "BuiltinSequences.ice"
12
+
13
+ ["java:identifier:com.zeroc.Ice"]
14
+ module Ice
15
+ {
16
+ /// Represents an intermediary object that routes requests and replies between clients and Ice objects that are not
17
+ /// directly reachable from these clients.
18
+ interface Router
19
+ {
20
+ /// Gets the router's client proxy, i.e. the proxy to use for forwarding requests from the client to the
21
+ /// router. If a null proxy is returned, the client will forward requests to the router's endpoints.
22
+ /// @param hasRoutingTable Indicates whether or not the router supports a routing table. If `true`, the Ice
23
+ /// runtime will call {@link addProxies} to populate the routing table. The Ice runtime assumes the router has
24
+ /// a routing table when @p hasRoutingTable is not set.
25
+ /// @return The router's client proxy.
26
+ /// @remark Introduced in Ice 3.7.
27
+ ["cpp:const"]
28
+ idempotent Object* getClientProxy(out optional(1) bool hasRoutingTable);
29
+
30
+ /// Gets the router's server proxy, i.e. the proxy to use for forwarding requests from the server to the
31
+ /// router. The Ice runtime uses the endpoints of this proxy as the published endpoints of bi-dir object
32
+ /// adapters.
33
+ /// @return The router's server proxy.
34
+ ["cpp:const"]
35
+ idempotent Object* getServerProxy();
36
+
37
+ /// Adds new proxy information to the router's routing table.
38
+ /// @param proxies The proxies to add. Adding a null proxy is an error.
39
+ /// @return Proxies discarded by the router. These proxies are all non-null.
40
+ idempotent ObjectProxySeq addProxies(ObjectProxySeq proxies);
41
+ }
42
+
43
+ /// Provides access to a {@link Router} object via a fixed identity.
44
+ /// A RouterFinder is always registered with identity `Ice/RouterFinder`. This allows clients to obtain the
45
+ /// associated Router proxy with just the endpoint information of the object. For example, you can use the
46
+ /// RouterFinder proxy `Ice/RouterFinder:tcp -h somehost -p 4061` to get the Router proxy
47
+ /// `MyGlacier2/Router:tcp -h somehost -p 4061`.
48
+ interface RouterFinder
49
+ {
50
+ /// Gets a proxy to the associated {@link Router}. The proxy might point to several replicas.
51
+ /// @return The router proxy. This proxy is never null.
52
+ Router* getRouter();
53
+ }
54
+ }
@@ -0,0 +1,18 @@
1
+ // Copyright (c) ZeroC, Inc.
2
+
3
+ #pragma once
4
+
5
+ [["cpp:dll-export:ICE_API"]]
6
+ [["cpp:doxygen:include:Ice/Ice.h"]]
7
+ [["cpp:header-ext:h"]]
8
+
9
+ [["js:module:@zeroc/ice"]]
10
+
11
+ ["java:identifier:com.zeroc.Ice"]
12
+ module Ice
13
+ {
14
+ /// Mapping from type IDs to Slice checksums. This dictionary allows verification at runtime that a client and a
15
+ /// server use essentially the same Slice definitions.
16
+ ["deprecated:As of Ice 3.8, the Slice compilers no longer generate Slice checksums."]
17
+ dictionary<string, string> SliceChecksumDict;
18
+ }
slice/Ice/Version.ice ADDED
@@ -0,0 +1,43 @@
1
+ // Copyright (c) ZeroC, Inc.
2
+
3
+ #pragma once
4
+
5
+ [["cpp:dll-export:ICE_API"]]
6
+ [["cpp:doxygen:include:Ice/Ice.h"]]
7
+ [["cpp:header-ext:h"]]
8
+
9
+ [["cpp:no-default-include"]]
10
+ [["cpp:no-stream"]]
11
+ [["cpp:include:Ice/Config.h"]]
12
+ [["cpp:include:Ice/TupleCompare.h"]]
13
+ [["cpp:include:cstdint"]]
14
+ [["cpp:include:ostream"]]
15
+
16
+ [["js:module:@zeroc/ice"]]
17
+
18
+ ["java:identifier:com.zeroc.Ice"]
19
+ module Ice
20
+ {
21
+ /// Represents a version of the Ice protocol. The only version implemented and supported by Ice is version 1.0.
22
+ ["cpp:custom-print"]
23
+ struct ProtocolVersion
24
+ {
25
+ /// The major version of the Ice protocol.
26
+ byte major;
27
+
28
+ /// The minor version of the Ice protocol.
29
+ byte minor;
30
+ }
31
+
32
+ /// Represents a version of the Slice encoding. Ice supports version 1.0 and 1.1 of this encoding.
33
+ /// @remark The Slice encoding is also known as the Ice encoding.
34
+ ["cpp:custom-print"]
35
+ struct EncodingVersion
36
+ {
37
+ /// The major version of the Slice encoding.
38
+ byte major;
39
+
40
+ /// The minor version of the Slice encoding.
41
+ byte minor;
42
+ }
43
+ }