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
Ice/IcePyTypes.py ADDED
@@ -0,0 +1,47 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ # These are the public types we re-export from IcePy.
4
+
5
+ from IcePy import (
6
+ BatchRequest,
7
+ Connection,
8
+ ConnectionInfo,
9
+ EndpointInfo,
10
+ IPConnectionInfo,
11
+ IPEndpointInfo,
12
+ NativePropertiesAdmin,
13
+ OpaqueEndpointInfo,
14
+ SSLConnectionInfo,
15
+ SSLEndpointInfo,
16
+ TCPConnectionInfo,
17
+ TCPEndpointInfo,
18
+ UDPConnectionInfo,
19
+ UDPEndpointInfo,
20
+ WSConnectionInfo,
21
+ WSEndpointInfo,
22
+ intVersion,
23
+ loadSlice,
24
+ stringVersion,
25
+ )
26
+
27
+ __all__ = [
28
+ "BatchRequest",
29
+ "Connection",
30
+ "ConnectionInfo",
31
+ "EndpointInfo",
32
+ "IPConnectionInfo",
33
+ "IPEndpointInfo",
34
+ "NativePropertiesAdmin",
35
+ "OpaqueEndpointInfo",
36
+ "SSLConnectionInfo",
37
+ "SSLEndpointInfo",
38
+ "TCPConnectionInfo",
39
+ "TCPEndpointInfo",
40
+ "UDPConnectionInfo",
41
+ "UDPEndpointInfo",
42
+ "WSConnectionInfo",
43
+ "WSEndpointInfo",
44
+ "intVersion",
45
+ "loadSlice",
46
+ "stringVersion",
47
+ ]
Ice/Identity.py ADDED
@@ -0,0 +1,40 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ # slice2py version 3.8.0
4
+
5
+ from __future__ import annotations
6
+ import IcePy
7
+
8
+ from dataclasses import dataclass
9
+
10
+
11
+ @dataclass(order=True, unsafe_hash=True)
12
+ class Identity:
13
+ """
14
+ Represents the identity of an Ice object. It is comparable to the path of a URI. Its string representation is
15
+ ``name`` when the category is empty, and ``category/name`` when the category is not empty.
16
+
17
+ Attributes
18
+ ----------
19
+ name : str
20
+ The name of the Ice object. An empty name is not valid.
21
+ category : str
22
+ The category of the object.
23
+
24
+ Notes
25
+ -----
26
+ The Slice compiler generated this dataclass from Slice struct ``::Ice::Identity``.
27
+ """
28
+ name: str = ""
29
+ category: str = ""
30
+
31
+ _Ice_Identity_t = IcePy.defineStruct(
32
+ "::Ice::Identity",
33
+ Identity,
34
+ (),
35
+ (
36
+ ("name", (), IcePy._t_string),
37
+ ("category", (), IcePy._t_string)
38
+ ))
39
+
40
+ __all__ = ["Identity", "_Ice_Identity_t"]
Ice/IdentitySeq.py ADDED
@@ -0,0 +1,12 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ # slice2py version 3.8.0
4
+
5
+ from __future__ import annotations
6
+ import IcePy
7
+
8
+ from Ice.Identity import _Ice_Identity_t
9
+
10
+ _Ice_IdentitySeq_t = IcePy.defineSequence("::Ice::IdentitySeq", (), _Ice_Identity_t)
11
+
12
+ __all__ = ["_Ice_IdentitySeq_t"]
Ice/ImplicitContext.py ADDED
@@ -0,0 +1,126 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ from typing import final
4
+
5
+ import IcePy
6
+
7
+
8
+ @final
9
+ class ImplicitContext:
10
+ """
11
+ An interface to associate implicit contexts with communicators.
12
+
13
+ When you make a remote invocation without an explicit context parameter, Ice uses the per-proxy context (if any)
14
+ combined with the ImplicitContext associated with the communicator.
15
+
16
+ Ice provides several implementations of ImplicitContext. The implementation used depends on the value of the
17
+ `Ice.ImplicitContext` property.
18
+
19
+ None (default)
20
+ No implicit context at all.
21
+ PerThread
22
+ The implementation maintains a context per thread.
23
+ Shared
24
+ The implementation maintains a single context shared by all threads.
25
+
26
+
27
+ ImplicitContext also provides a number of operations to create, update, or retrieve an entry in the underlying
28
+ context without first retrieving a copy of the entire context.
29
+ """
30
+
31
+ def __init__(self, impl: IcePy.ImplicitContext):
32
+ self._impl = impl
33
+
34
+ def getContext(self) -> dict[str, str]:
35
+ """
36
+ Get a copy of the underlying context.
37
+
38
+ Returns
39
+ -------
40
+ dict
41
+ A copy of the underlying context.
42
+ """
43
+ return self._impl.getContext()
44
+
45
+ def setContext(self, newContext: dict[str, str]):
46
+ """
47
+ Set the underlying context.
48
+
49
+ Parameters
50
+ ----------
51
+ newContext : dict
52
+ The new context to set.
53
+ """
54
+ self._impl.setContext(newContext)
55
+
56
+ def containsKey(self, key: str) -> bool:
57
+ """
58
+ Check if this key has an associated value in the underlying context.
59
+
60
+ Parameters
61
+ ----------
62
+ key : str
63
+ The key to check.
64
+
65
+ Returns
66
+ -------
67
+ bool
68
+ True if the key has an associated value, False otherwise.
69
+ """
70
+ return self._impl.containsKey(key)
71
+
72
+ def get(self, key: str) -> str:
73
+ """
74
+ Get the value associated with the given key in the underlying context.
75
+
76
+ Returns an empty string if no value is associated with the key. Use `containsKey` to distinguish between an
77
+ empty-string value and no value at all.
78
+
79
+ Parameters
80
+ ----------
81
+ key : str
82
+ The key to retrieve the value for.
83
+
84
+ Returns
85
+ -------
86
+ str
87
+ The value associated with the key, or an empty string if no value is associated with the key.
88
+ """
89
+ return self._impl.get(key)
90
+
91
+ def put(self, key: str, value: str) -> str | None:
92
+ """
93
+ Create or update a key/value entry in the underlying context.
94
+
95
+ Parameters
96
+ ----------
97
+ key : str
98
+ The key to create or update.
99
+ value : str
100
+ The value to associate with the key.
101
+
102
+ Returns
103
+ -------
104
+ str | None
105
+ The previous value associated with the key, if any, otherwise None.
106
+ """
107
+ return self._impl.put(key, value)
108
+
109
+ def remove(self, key: str) -> str | None:
110
+ """
111
+ Remove the entry for the given key in the underlying context.
112
+
113
+ Parameters
114
+ ----------
115
+ key : str
116
+ The key to remove.
117
+
118
+ Returns
119
+ -------
120
+ str | None
121
+ The value associated with the key, if any, otherwise None.
122
+ """
123
+ return self._impl.remove(key)
124
+
125
+
126
+ __all__ = ["ImplicitContext"]
@@ -0,0 +1,64 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ from __future__ import annotations
4
+
5
+ from dataclasses import dataclass
6
+ from typing import TYPE_CHECKING
7
+
8
+ if TYPE_CHECKING:
9
+ from collections.abc import Callable
10
+
11
+ from IcePy import BatchRequest, Connection
12
+
13
+ from .EventLoopAdapter import EventLoopAdapter
14
+ from .Logger import Logger
15
+ from .Properties import Properties
16
+ from .UserException import UserException
17
+ from .Value import Value
18
+
19
+
20
+ @dataclass
21
+ class InitializationData:
22
+ """
23
+ The attributes of this class are used to initialize a new communicator instance.
24
+
25
+ Attributes
26
+ ----------
27
+ properties : Ice.Properties | None
28
+ The properties to use for the communicator.
29
+ logger : Logger | None
30
+ The logger to use for the communicator.
31
+ threadStart : Callable[[], None] | None
32
+ A callable that is invoked for each new Ice thread that is started.
33
+ threadStop : Callable[[], None] | None
34
+ A callable that is invoked when an Ice thread is stopped.
35
+ executor : Callable[[Callable[[], None], Connection], None] | None
36
+ A callable that is invoked when Ice needs to execute an activity. The callable
37
+ receives two arguments: a callable and an Ice.Connection object. The executor must
38
+ eventually invoke the callable with no arguments.
39
+ batchRequestInterceptor : Callable[[BatchRequest, int, int], None] | None
40
+ A callable that will be invoked when a batch request is queued. The callable receives
41
+ three arguments: a BatchRequest object, an integer representing the number of requests
42
+ in the queue, and an integer representing the number of bytes consumed by the requests
43
+ in the queue. The interceptor must eventually invoke the enqueue method on the BatchRequest object.
44
+ eventLoopAdapter : Ice.EventLoopAdapter | None
45
+ An event loop adapter used to run coroutines and wrap futures. If provided. This adapter is responsible for
46
+ executing coroutines returned by Ice asynchronous dispatch methods and for wrapping Ice futures (from Ice
47
+ Async APIs) into futures that can be awaited in the application's event loop.
48
+ sliceLoader : Callable[[str], Value | UserException | None] | None
49
+ A callable that creates class and exception instances from Slice type IDs. The callable receives a type ID
50
+ or compact type ID as a string argument and returns a new instance of the class or exception identified by this
51
+ ID. The implementation returns None when it cannot find the corresponding class.
52
+ """
53
+
54
+ properties: Properties | None = None
55
+ logger: Logger | None = None
56
+ threadStart: Callable[[], None] | None = None
57
+ threadStop: Callable[[], None] | None = None
58
+ executor: Callable[[Callable[[], None], Connection], None] | None = None
59
+ batchRequestInterceptor: Callable[[BatchRequest, int, int], None] | None = None
60
+ eventLoopAdapter: EventLoopAdapter | None = None
61
+ sliceLoader: Callable[[str], Value | UserException | None] | None = None
62
+
63
+
64
+ __all__ = ["InitializationData"]
Ice/IntSeq.py ADDED
@@ -0,0 +1,10 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ # slice2py version 3.8.0
4
+
5
+ from __future__ import annotations
6
+ import IcePy
7
+
8
+ _Ice_IntSeq_t = IcePy.defineSequence("::Ice::IntSeq", (), IcePy._t_int)
9
+
10
+ __all__ = ["_Ice_IntSeq_t"]
@@ -0,0 +1,34 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ # slice2py version 3.8.0
4
+
5
+ from __future__ import annotations
6
+ import IcePy
7
+
8
+ from Ice.UserException import UserException
9
+
10
+ from dataclasses import dataclass
11
+
12
+
13
+ @dataclass
14
+ class InvalidReplicaGroupIdException(UserException):
15
+ """
16
+ The exception that is thrown when the provided replica group is invalid.
17
+
18
+ Notes
19
+ -----
20
+ The Slice compiler generated this exception dataclass from Slice exception ``::Ice::InvalidReplicaGroupIdException``.
21
+ """
22
+
23
+ _ice_id = "::Ice::InvalidReplicaGroupIdException"
24
+
25
+ _Ice_InvalidReplicaGroupIdException_t = IcePy.defineException(
26
+ "::Ice::InvalidReplicaGroupIdException",
27
+ InvalidReplicaGroupIdException,
28
+ (),
29
+ None,
30
+ ())
31
+
32
+ setattr(InvalidReplicaGroupIdException, '_ice_type', _Ice_InvalidReplicaGroupIdException_t)
33
+
34
+ __all__ = ["InvalidReplicaGroupIdException", "_Ice_InvalidReplicaGroupIdException_t"]
@@ -0,0 +1,158 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ import logging
4
+ from collections.abc import Callable
5
+
6
+ import IcePy
7
+
8
+ from .Future import Future
9
+ from .LocalExceptions import InvocationCanceledException, TimeoutException
10
+
11
+
12
+ class InvocationFuture(Future):
13
+ """
14
+ A Future object representing the result of an AMI (Asynchronous Method Invocation) request.
15
+
16
+ InvocationFuture objects are returned by AMI requests. The application can use an InvocationFuture object to
17
+ wait for the result of the AMI request or register a callback that will be invoked when the result becomes
18
+ available.
19
+
20
+ This class provides the same functionality as `Future`, with the addition of "sent callbacks," which are invoked
21
+ when the request is sent.
22
+ """
23
+
24
+ def __init__(self, asyncInvocationContext: IcePy.AsyncInvocationContext):
25
+ Future.__init__(self)
26
+ assert asyncInvocationContext
27
+ self._asyncInvocationContext = asyncInvocationContext
28
+ self._sent = False
29
+ self._sentSynchronously = False
30
+ self._sentCallbacks = []
31
+
32
+ def cancel(self) -> bool:
33
+ """
34
+ Cancels the invocation.
35
+
36
+ This method invokes :py:meth:`Future.cancel` to cancel the underlying future. If the cancellation is
37
+ successful, the associated invocation is also cancelled.
38
+
39
+ Cancelling an invocation prevents a queued invocation from being sent. If the invocation has already been sent,
40
+ cancellation ensures that any reply from the server is ignored.
41
+
42
+ Cancellation is a local operation with no effect on the server.
43
+
44
+ After cancellation, :py:meth:`done` returns ``True``, and attempting to retrieve the result raises an
45
+ :py:exc:`Ice.InvocationCanceledException`.
46
+
47
+ Returns
48
+ -------
49
+ bool
50
+ ``True`` if the operation was successfully cancelled, ``False`` otherwise.
51
+ """
52
+ cancelled = Future.cancel(self)
53
+ if cancelled:
54
+ self._asyncInvocationContext.cancel()
55
+ return cancelled
56
+
57
+ def is_sent(self) -> bool:
58
+ """
59
+ Check if the request has been sent.
60
+
61
+ Returns
62
+ -------
63
+ bool
64
+ True if the request has been sent, otherwise False.
65
+ """
66
+ with self._condition:
67
+ return self._sent
68
+
69
+ def is_sent_synchronously(self) -> bool:
70
+ """
71
+ Check if the request was sent synchronously.
72
+
73
+ Returns
74
+ -------
75
+ bool
76
+ True if the request was sent synchronously, otherwise False.
77
+ """
78
+ with self._condition:
79
+ return self._sentSynchronously
80
+
81
+ def add_sent_callback(self, fn: Callable[[bool], None]) -> None:
82
+ """
83
+ Attach a callback to be executed when the invocation is sent.
84
+
85
+ The callback `fn` is called with a boolean argument, indicating whether the invocation was sent synchronously.
86
+
87
+ If the future has already been sent, `fn` is called immediately from the calling thread.
88
+
89
+ Parameters
90
+ ----------
91
+ fn : Callable
92
+ The function to execute when the invocation is sent.
93
+ """
94
+ with self._condition:
95
+ if not self._sent:
96
+ self._sentCallbacks.append(fn)
97
+ return
98
+ fn(self._sentSynchronously)
99
+
100
+ def sent(self, timeout: int | float | None = None) -> bool:
101
+ """
102
+ Wait for the operation to be sent.
103
+
104
+ This method waits up to `timeout` seconds for the operation to be sent and then returns
105
+ whether it was sent synchronously.
106
+
107
+ If the operation has not been sent within the specified time, a `TimeoutException` is raised.
108
+ If the future was cancelled before being sent, an `InvocationCanceledException` is raised.
109
+
110
+ Parameters
111
+ ----------
112
+ timeout : int | float, optional
113
+ Maximum time (in seconds) to wait for the operation to be sent. If `None`, the method waits
114
+ indefinitely.
115
+
116
+ Returns
117
+ -------
118
+ bool
119
+ True if the operation was sent synchronously, otherwise False.
120
+
121
+ Raises
122
+ ------
123
+ TimeoutException
124
+ If the operation was not sent within the specified timeout.
125
+ InvocationCanceledException
126
+ If the operation was cancelled before it was sent.
127
+ """
128
+ with self._condition:
129
+ if not self._wait(timeout, lambda: not self._sent):
130
+ raise TimeoutException()
131
+
132
+ if self._state == Future.StateCancelled:
133
+ raise InvocationCanceledException()
134
+ elif self._exception:
135
+ raise self._exception
136
+ else:
137
+ return self._sentSynchronously
138
+
139
+ def set_sent(self, sentSynchronously: bool):
140
+ callbacks = []
141
+ with self._condition:
142
+ if self._sent:
143
+ return
144
+
145
+ self._sent = True
146
+ self._sentSynchronously = sentSynchronously
147
+ callbacks = self._sentCallbacks
148
+ self._sentCallbacks = []
149
+ self._condition.notify_all()
150
+
151
+ for callback in callbacks:
152
+ try:
153
+ callback(sentSynchronously)
154
+ except Exception as ex:
155
+ logging.getLogger("Ice.Future").exception("sent callback raised exception: %s", ex)
156
+
157
+
158
+ __all__ = ["InvocationFuture"]
Ice/LocalException.py ADDED
@@ -0,0 +1,12 @@
1
+ # Copyright (c) ZeroC, Inc.
2
+
3
+ from .Exception import Exception as IceException
4
+
5
+
6
+ class LocalException(IceException):
7
+ """The base class for Ice run-time exceptions."""
8
+
9
+ pass
10
+
11
+
12
+ __all__ = ["LocalException"]