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.
- Glacier2/CannotCreateSessionException.py +40 -0
- Glacier2/IdentitySet.py +293 -0
- Glacier2/IdentitySet_forward.py +10 -0
- Glacier2/PermissionDeniedException.py +40 -0
- Glacier2/PermissionsVerifier.py +189 -0
- Glacier2/PermissionsVerifier_forward.py +10 -0
- Glacier2/Router.py +661 -0
- Glacier2/Router_forward.py +10 -0
- Glacier2/SSLInfo.py +62 -0
- Glacier2/SSLPermissionsVerifier.py +186 -0
- Glacier2/SSLPermissionsVerifier_forward.py +10 -0
- Glacier2/SSLSessionManager.py +192 -0
- Glacier2/SSLSessionManager_forward.py +10 -0
- Glacier2/Session.py +161 -0
- Glacier2/SessionControl.py +407 -0
- Glacier2/SessionControl_forward.py +10 -0
- Glacier2/SessionManager.py +189 -0
- Glacier2/SessionManager_forward.py +10 -0
- Glacier2/SessionNotExistException.py +39 -0
- Glacier2/Session_forward.py +10 -0
- Glacier2/StringSet.py +289 -0
- Glacier2/StringSet_forward.py +10 -0
- Glacier2/__init__.py +79 -0
- Glacier2/py.typed +0 -0
- Ice/AdapterAlreadyActiveException.py +35 -0
- Ice/AdapterNotFoundException.py +35 -0
- Ice/BTEndpointType.py +11 -0
- Ice/BTSEndpointType.py +11 -0
- Ice/Blobject.py +42 -0
- Ice/BoolSeq.py +10 -0
- Ice/Builtin.py +11 -0
- Ice/ByteSeq.py +10 -0
- Ice/Communicator.py +621 -0
- Ice/CompressBatch.py +25 -0
- Ice/Context.py +10 -0
- Ice/Current.py +48 -0
- Ice/Dispatch.py +122 -0
- Ice/DoubleSeq.py +10 -0
- Ice/EncodingVersion.py +41 -0
- Ice/EndpointSelectionType.py +22 -0
- Ice/EventLoopAdapter.py +52 -0
- Ice/Exception.py +29 -0
- Ice/FloatSeq.py +10 -0
- Ice/FormatType.py +15 -0
- Ice/Future.py +375 -0
- Ice/IcePyTypes.py +47 -0
- Ice/Identity.py +40 -0
- Ice/IdentitySeq.py +12 -0
- Ice/ImplicitContext.py +126 -0
- Ice/InitializationData.py +64 -0
- Ice/IntSeq.py +10 -0
- Ice/InvalidReplicaGroupIdException.py +34 -0
- Ice/InvocationFuture.py +158 -0
- Ice/LocalException.py +12 -0
- Ice/LocalExceptions.py +546 -0
- Ice/Locator.py +332 -0
- Ice/LocatorFinder.py +163 -0
- Ice/LocatorFinder_forward.py +10 -0
- Ice/LocatorRegistry.py +387 -0
- Ice/LocatorRegistry_forward.py +10 -0
- Ice/Locator_forward.py +10 -0
- Ice/LogMessage.py +51 -0
- Ice/LogMessageSeq.py +12 -0
- Ice/LogMessageType.py +50 -0
- Ice/LogMessageTypeSeq.py +12 -0
- Ice/Logger.py +100 -0
- Ice/LoggerAdmin.py +380 -0
- Ice/LoggerAdmin_forward.py +10 -0
- Ice/LongSeq.py +10 -0
- Ice/Object.py +145 -0
- Ice/ObjectAdapter.py +588 -0
- Ice/ObjectNotFoundException.py +35 -0
- Ice/ObjectProxySeq.py +12 -0
- Ice/ObjectPrx.py +940 -0
- Ice/ObjectPrx_forward.py +7 -0
- Ice/ObjectSeq.py +12 -0
- Ice/OperationMode.py +47 -0
- Ice/Process.py +217 -0
- Ice/ProcessLogger.py +25 -0
- Ice/Process_forward.py +10 -0
- Ice/Properties.py +387 -0
- Ice/PropertiesAdmin.py +302 -0
- Ice/PropertiesAdmin_forward.py +10 -0
- Ice/PropertyDict.py +10 -0
- Ice/ProtocolVersion.py +39 -0
- Ice/Proxy.py +63 -0
- Ice/RemoteLogger.py +238 -0
- Ice/RemoteLoggerAlreadyAttachedException.py +34 -0
- Ice/RemoteLogger_forward.py +10 -0
- Ice/ReplyStatus.py +84 -0
- Ice/Router.py +322 -0
- Ice/RouterFinder.py +163 -0
- Ice/RouterFinder_forward.py +10 -0
- Ice/Router_forward.py +10 -0
- Ice/SSLEndpointType.py +11 -0
- Ice/ServantLocator.py +93 -0
- Ice/ServerNotFoundException.py +34 -0
- Ice/ShortSeq.py +10 -0
- Ice/SliceChecksumDict.py +10 -0
- Ice/SliceInfo.py +22 -0
- Ice/SlicedData.py +14 -0
- Ice/StringSeq.py +10 -0
- Ice/TCPEndpointType.py +11 -0
- Ice/ToStringMode.py +34 -0
- Ice/UDPEndpointType.py +11 -0
- Ice/URIEndpointType.py +11 -0
- Ice/UnknownSlicedValue.py +31 -0
- Ice/UserException.py +18 -0
- Ice/Util.py +170 -0
- Ice/Value.py +59 -0
- Ice/Value_forward.py +7 -0
- Ice/WSEndpointType.py +11 -0
- Ice/WSSEndpointType.py +11 -0
- Ice/_ArrayUtil.py +51 -0
- Ice/_LoggerI.py +32 -0
- Ice/__init__.py +367 -0
- Ice/asyncio/EventLoopAdapter.py +31 -0
- Ice/asyncio/__init__.py +5 -0
- Ice/iAPEndpointType.py +11 -0
- Ice/iAPSEndpointType.py +11 -0
- Ice/py.typed +0 -0
- IceBox/AlreadyStartedException.py +34 -0
- IceBox/AlreadyStoppedException.py +34 -0
- IceBox/NoSuchServiceException.py +34 -0
- IceBox/ServiceManager.py +447 -0
- IceBox/ServiceManager_forward.py +10 -0
- IceBox/ServiceObserver.py +229 -0
- IceBox/ServiceObserver_forward.py +10 -0
- IceBox/__init__.py +33 -0
- IceBox/py.typed +0 -0
- IceGrid/AccessDeniedException.py +40 -0
- IceGrid/AdapterDescriptor.py +77 -0
- IceGrid/AdapterDescriptorSeq.py +12 -0
- IceGrid/AdapterDynamicInfo.py +46 -0
- IceGrid/AdapterDynamicInfoSeq.py +12 -0
- IceGrid/AdapterInfo.py +50 -0
- IceGrid/AdapterInfoSeq.py +12 -0
- IceGrid/AdapterNotExistException.py +40 -0
- IceGrid/AdapterObserver.py +338 -0
- IceGrid/AdapterObserver_forward.py +10 -0
- IceGrid/AdaptiveLoadBalancingPolicy.py +48 -0
- IceGrid/AdaptiveLoadBalancingPolicy_forward.py +10 -0
- IceGrid/Admin.py +3662 -0
- IceGrid/AdminSession.py +1406 -0
- IceGrid/AdminSession_forward.py +10 -0
- IceGrid/Admin_forward.py +10 -0
- IceGrid/AllocationException.py +40 -0
- IceGrid/AllocationTimeoutException.py +35 -0
- IceGrid/ApplicationDescriptor.py +89 -0
- IceGrid/ApplicationDescriptorSeq.py +12 -0
- IceGrid/ApplicationInfo.py +63 -0
- IceGrid/ApplicationInfoSeq.py +12 -0
- IceGrid/ApplicationNotExistException.py +40 -0
- IceGrid/ApplicationObserver.py +374 -0
- IceGrid/ApplicationObserver_forward.py +10 -0
- IceGrid/ApplicationUpdateDescriptor.py +118 -0
- IceGrid/ApplicationUpdateInfo.py +51 -0
- IceGrid/BadSignalException.py +40 -0
- IceGrid/BoxedDistributionDescriptor.py +49 -0
- IceGrid/BoxedDistributionDescriptor_forward.py +10 -0
- IceGrid/BoxedString.py +45 -0
- IceGrid/BoxedString_forward.py +10 -0
- IceGrid/CommunicatorDescriptor.py +79 -0
- IceGrid/CommunicatorDescriptor_forward.py +10 -0
- IceGrid/DbEnvDescriptor.py +55 -0
- IceGrid/DbEnvDescriptorSeq.py +12 -0
- IceGrid/DeploymentException.py +40 -0
- IceGrid/DistributionDescriptor.py +42 -0
- IceGrid/FileIterator.py +246 -0
- IceGrid/FileIterator_forward.py +10 -0
- IceGrid/FileNotAvailableException.py +49 -0
- IceGrid/FileParser.py +182 -0
- IceGrid/FileParser_forward.py +10 -0
- IceGrid/IceBoxDescriptor.py +55 -0
- IceGrid/IceBoxDescriptor_forward.py +10 -0
- IceGrid/LoadBalancingPolicy.py +45 -0
- IceGrid/LoadBalancingPolicy_forward.py +10 -0
- IceGrid/LoadInfo.py +43 -0
- IceGrid/LoadSample.py +45 -0
- IceGrid/Locator.py +232 -0
- IceGrid/Locator_forward.py +10 -0
- IceGrid/NodeDescriptor.py +71 -0
- IceGrid/NodeDescriptorDict.py +12 -0
- IceGrid/NodeDynamicInfo.py +57 -0
- IceGrid/NodeDynamicInfoSeq.py +12 -0
- IceGrid/NodeInfo.py +64 -0
- IceGrid/NodeNotExistException.py +40 -0
- IceGrid/NodeObserver.py +424 -0
- IceGrid/NodeObserver_forward.py +10 -0
- IceGrid/NodeUnreachableException.py +46 -0
- IceGrid/NodeUpdateDescriptor.py +92 -0
- IceGrid/NodeUpdateDescriptorSeq.py +12 -0
- IceGrid/ObjectDescriptor.py +48 -0
- IceGrid/ObjectDescriptorSeq.py +12 -0
- IceGrid/ObjectExistsException.py +44 -0
- IceGrid/ObjectInfo.py +46 -0
- IceGrid/ObjectInfoSeq.py +12 -0
- IceGrid/ObjectNotRegisteredException.py +44 -0
- IceGrid/ObjectObserver.py +347 -0
- IceGrid/ObjectObserver_forward.py +10 -0
- IceGrid/ObserverAlreadyRegisteredException.py +49 -0
- IceGrid/OrderedLoadBalancingPolicy.py +41 -0
- IceGrid/OrderedLoadBalancingPolicy_forward.py +10 -0
- IceGrid/ParseException.py +40 -0
- IceGrid/PermissionDeniedException.py +40 -0
- IceGrid/PropertyDescriptor.py +39 -0
- IceGrid/PropertyDescriptorSeq.py +12 -0
- IceGrid/PropertySetDescriptor.py +49 -0
- IceGrid/PropertySetDescriptorDict.py +12 -0
- IceGrid/Query.py +451 -0
- IceGrid/Query_forward.py +10 -0
- IceGrid/RandomLoadBalancingPolicy.py +41 -0
- IceGrid/RandomLoadBalancingPolicy_forward.py +10 -0
- IceGrid/Registry.py +477 -0
- IceGrid/RegistryInfo.py +39 -0
- IceGrid/RegistryInfoSeq.py +12 -0
- IceGrid/RegistryNotExistException.py +40 -0
- IceGrid/RegistryObserver.py +282 -0
- IceGrid/RegistryObserver_forward.py +10 -0
- IceGrid/RegistryUnreachableException.py +46 -0
- IceGrid/Registry_forward.py +10 -0
- IceGrid/ReplicaGroupDescriptor.py +66 -0
- IceGrid/ReplicaGroupDescriptorSeq.py +12 -0
- IceGrid/RoundRobinLoadBalancingPolicy.py +41 -0
- IceGrid/RoundRobinLoadBalancingPolicy_forward.py +10 -0
- IceGrid/ServerDescriptor.py +107 -0
- IceGrid/ServerDescriptorSeq.py +12 -0
- IceGrid/ServerDescriptor_forward.py +10 -0
- IceGrid/ServerDynamicInfo.py +50 -0
- IceGrid/ServerDynamicInfoSeq.py +12 -0
- IceGrid/ServerInfo.py +62 -0
- IceGrid/ServerInstanceDescriptor.py +58 -0
- IceGrid/ServerInstanceDescriptorSeq.py +12 -0
- IceGrid/ServerNotExistException.py +40 -0
- IceGrid/ServerStartException.py +46 -0
- IceGrid/ServerState.py +66 -0
- IceGrid/ServerStopException.py +46 -0
- IceGrid/ServiceDescriptor.py +53 -0
- IceGrid/ServiceDescriptorSeq.py +12 -0
- IceGrid/ServiceDescriptor_forward.py +10 -0
- IceGrid/ServiceInstanceDescriptor.py +60 -0
- IceGrid/ServiceInstanceDescriptorSeq.py +12 -0
- IceGrid/Session.py +498 -0
- IceGrid/Session_forward.py +10 -0
- IceGrid/StringObjectProxyDict.py +12 -0
- IceGrid/StringStringDict.py +10 -0
- IceGrid/TemplateDescriptor.py +55 -0
- IceGrid/TemplateDescriptorDict.py +12 -0
- IceGrid/UserAccountMapper.py +178 -0
- IceGrid/UserAccountMapper_forward.py +10 -0
- IceGrid/UserAccountNotFoundException.py +34 -0
- IceGrid/__init__.py +375 -0
- IceGrid/py.typed +0 -0
- IceMX/ChildInvocationMetrics.py +56 -0
- IceMX/ChildInvocationMetrics_forward.py +10 -0
- IceMX/CollocatedMetrics.py +42 -0
- IceMX/CollocatedMetrics_forward.py +10 -0
- IceMX/ConnectionMetrics.py +53 -0
- IceMX/ConnectionMetrics_forward.py +10 -0
- IceMX/DispatchMetrics.py +57 -0
- IceMX/DispatchMetrics_forward.py +10 -0
- IceMX/InvocationMetrics.py +66 -0
- IceMX/InvocationMetrics_forward.py +10 -0
- IceMX/Metrics.py +66 -0
- IceMX/MetricsAdmin.py +586 -0
- IceMX/MetricsAdmin_forward.py +10 -0
- IceMX/MetricsFailures.py +42 -0
- IceMX/MetricsFailuresSeq.py +12 -0
- IceMX/MetricsMap.py +12 -0
- IceMX/MetricsView.py +12 -0
- IceMX/Metrics_forward.py +10 -0
- IceMX/RemoteMetrics.py +42 -0
- IceMX/RemoteMetrics_forward.py +10 -0
- IceMX/SessionMetrics.py +73 -0
- IceMX/SessionMetrics_forward.py +10 -0
- IceMX/StringIntDict.py +10 -0
- IceMX/SubscriberMetrics.py +57 -0
- IceMX/SubscriberMetrics_forward.py +10 -0
- IceMX/ThreadMetrics.py +59 -0
- IceMX/ThreadMetrics_forward.py +10 -0
- IceMX/TopicMetrics.py +53 -0
- IceMX/TopicMetrics_forward.py +10 -0
- IceMX/UnknownMetricsView.py +34 -0
- IceMX/__init__.py +75 -0
- IceMX/py.typed +0 -0
- IcePy-stubs/__init__.pyi +740 -0
- IcePy.cpython-312-darwin.so +0 -0
- IceStorm/AlreadySubscribed.py +34 -0
- IceStorm/BadQoS.py +40 -0
- IceStorm/Finder.py +163 -0
- IceStorm/Finder_forward.py +10 -0
- IceStorm/LinkExists.py +40 -0
- IceStorm/LinkInfo.py +50 -0
- IceStorm/LinkInfoSeq.py +12 -0
- IceStorm/NoSuchLink.py +40 -0
- IceStorm/NoSuchTopic.py +40 -0
- IceStorm/QoS.py +10 -0
- IceStorm/Topic.py +825 -0
- IceStorm/TopicDict.py +12 -0
- IceStorm/TopicExists.py +40 -0
- IceStorm/TopicManager.py +394 -0
- IceStorm/TopicManager_forward.py +10 -0
- IceStorm/Topic_forward.py +10 -0
- IceStorm/__init__.py +61 -0
- IceStorm/py.typed +0 -0
- slice/DataStorm/SampleEvent.ice +29 -0
- slice/Glacier2/Metrics.ice +47 -0
- slice/Glacier2/PermissionsVerifier.ice +55 -0
- slice/Glacier2/Router.ice +93 -0
- slice/Glacier2/SSLInfo.ice +42 -0
- slice/Glacier2/Session.ice +133 -0
- slice/Ice/BuiltinSequences.ice +54 -0
- slice/Ice/Context.ice +24 -0
- slice/Ice/EndpointTypes.ice +50 -0
- slice/Ice/Identity.ice +36 -0
- slice/Ice/Locator.ice +74 -0
- slice/Ice/LocatorRegistry.ice +77 -0
- slice/Ice/Metrics.ice +201 -0
- slice/Ice/OperationMode.ice +38 -0
- slice/Ice/Process.ice +28 -0
- slice/Ice/PropertiesAdmin.ice +37 -0
- slice/Ice/PropertyDict.ice +23 -0
- slice/Ice/RemoteLogger.ice +126 -0
- slice/Ice/ReplyStatus.ice +65 -0
- slice/Ice/Router.ice +54 -0
- slice/Ice/SliceChecksumDict.ice +18 -0
- slice/Ice/Version.ice +43 -0
- slice/IceBox/ServiceManager.ice +79 -0
- slice/IceGrid/Admin.ice +981 -0
- slice/IceGrid/Descriptor.ice +519 -0
- slice/IceGrid/Exception.ice +98 -0
- slice/IceGrid/FileParser.ice +36 -0
- slice/IceGrid/Registry.ice +130 -0
- slice/IceGrid/Session.ice +64 -0
- slice/IceGrid/UserAccountMapper.ice +34 -0
- slice/IceStorm/IceStorm.ice +186 -0
- slice/IceStorm/Metrics.ice +41 -0
- slice2py.py +20 -0
- zeroc_ice-3.8.0.dist-info/METADATA +106 -0
- zeroc_ice-3.8.0.dist-info/RECORD +343 -0
- zeroc_ice-3.8.0.dist-info/WHEEL +5 -0
- zeroc_ice-3.8.0.dist-info/entry_points.txt +2 -0
- zeroc_ice-3.8.0.dist-info/top_level.txt +10 -0
Ice/Communicator.py
ADDED
|
@@ -0,0 +1,621 @@
|
|
|
1
|
+
# Copyright (c) ZeroC, Inc.
|
|
2
|
+
|
|
3
|
+
from __future__ import annotations
|
|
4
|
+
|
|
5
|
+
import asyncio
|
|
6
|
+
from typing import TYPE_CHECKING, Self, final, overload
|
|
7
|
+
|
|
8
|
+
import IcePy
|
|
9
|
+
|
|
10
|
+
from ._LoggerI import LoggerI
|
|
11
|
+
from .asyncio.EventLoopAdapter import EventLoopAdapter as AsyncIOEventLoopAdapter
|
|
12
|
+
from .Future import Future
|
|
13
|
+
from .ImplicitContext import ImplicitContext
|
|
14
|
+
from .InitializationData import InitializationData
|
|
15
|
+
from .Logger import Logger
|
|
16
|
+
from .ObjectAdapter import ObjectAdapter
|
|
17
|
+
from .Properties import Properties
|
|
18
|
+
|
|
19
|
+
if TYPE_CHECKING:
|
|
20
|
+
from collections.abc import Awaitable
|
|
21
|
+
|
|
22
|
+
from .CompressBatch import CompressBatch
|
|
23
|
+
from .EventLoopAdapter import EventLoopAdapter
|
|
24
|
+
from .Identity import Identity
|
|
25
|
+
from .Locator import LocatorPrx
|
|
26
|
+
from .Object import Object
|
|
27
|
+
from .ObjectPrx import ObjectPrx
|
|
28
|
+
from .Router import RouterPrx
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
@final
|
|
32
|
+
class Communicator:
|
|
33
|
+
"""
|
|
34
|
+
Communicator is the central object in Ice. Its responsibilities include:
|
|
35
|
+
- creating and managing outgoing connections
|
|
36
|
+
- executing callbacks in its client thread pool
|
|
37
|
+
- creating and destroying object adapters
|
|
38
|
+
- loading plug-ins
|
|
39
|
+
- managing properties (configuration), retries, logging, instrumentation, and more.
|
|
40
|
+
The communicator is usually the first object you create when programming with Ice. You can create multiple
|
|
41
|
+
communicators in a single program, but this is not common.
|
|
42
|
+
|
|
43
|
+
Example
|
|
44
|
+
-------
|
|
45
|
+
The following example shows how to create a communicator and use the ``async with`` statement to ensure that the
|
|
46
|
+
communicator is properly destroyed.
|
|
47
|
+
|
|
48
|
+
.. code-block:: python
|
|
49
|
+
|
|
50
|
+
async def main():
|
|
51
|
+
async with Ice.Communicator(
|
|
52
|
+
sys.argv, eventLoop=asyncio.get_running_loop()
|
|
53
|
+
) as communicator:
|
|
54
|
+
...
|
|
55
|
+
|
|
56
|
+
|
|
57
|
+
if __name__ == "__main__":
|
|
58
|
+
asyncio.run(main())
|
|
59
|
+
"""
|
|
60
|
+
|
|
61
|
+
@overload
|
|
62
|
+
def __init__(self, args: list[str] | None = None, eventLoop: asyncio.AbstractEventLoop | None = None) -> None: ...
|
|
63
|
+
|
|
64
|
+
@overload
|
|
65
|
+
def __init__(self, *, initData: InitializationData | None = None) -> None: ...
|
|
66
|
+
|
|
67
|
+
def __init__(
|
|
68
|
+
self,
|
|
69
|
+
args: list[str] | None = None,
|
|
70
|
+
eventLoop: asyncio.AbstractEventLoop | None = None,
|
|
71
|
+
initData: InitializationData | None = None,
|
|
72
|
+
) -> None:
|
|
73
|
+
"""
|
|
74
|
+
Initializes a new instance of Communicator.
|
|
75
|
+
|
|
76
|
+
Parameters
|
|
77
|
+
----------
|
|
78
|
+
args : list of str, optional
|
|
79
|
+
The command-line arguments, parsed into Ice properties by this method.
|
|
80
|
+
eventLoop : asyncio.AbstractEventLoop, optional
|
|
81
|
+
An asyncio event loop used to run coroutines and wrap futures. If provided, a new event loop adapter is
|
|
82
|
+
created and configured with the communicator. This adapter is responsible for executing coroutines returned
|
|
83
|
+
by Ice asynchronous dispatch methods and for wrapping Ice futures (from Ice Async APIs) into asyncio
|
|
84
|
+
futures. This argument and the `initData` argument are mutually exclusive. If the `initData` argument is
|
|
85
|
+
provided, the event loop adapter can be set using the :attr:`InitializationData.eventLoopAdapter` attribute.
|
|
86
|
+
initData : InitializationData, optional
|
|
87
|
+
Options for the new communicator. This argument and the `args` argument are mutually exclusive.
|
|
88
|
+
"""
|
|
89
|
+
eventLoopAdapter = None
|
|
90
|
+
if initData:
|
|
91
|
+
eventLoopAdapter = initData.eventLoopAdapter
|
|
92
|
+
elif eventLoop:
|
|
93
|
+
eventLoopAdapter = AsyncIOEventLoopAdapter(eventLoop)
|
|
94
|
+
|
|
95
|
+
if args:
|
|
96
|
+
initData = InitializationData(properties=Properties(args))
|
|
97
|
+
|
|
98
|
+
# initData can be None here, which is acceptable.
|
|
99
|
+
self._impl = IcePy.Communicator(initData)
|
|
100
|
+
self._impl._setWrapper(self)
|
|
101
|
+
self._eventLoopAdapter = eventLoopAdapter
|
|
102
|
+
|
|
103
|
+
def __enter__(self) -> Self:
|
|
104
|
+
return self
|
|
105
|
+
|
|
106
|
+
def __exit__(self, type, value, traceback) -> None: # type: ignore
|
|
107
|
+
self._impl.destroy()
|
|
108
|
+
|
|
109
|
+
async def __aenter__(self) -> Self:
|
|
110
|
+
return self
|
|
111
|
+
|
|
112
|
+
async def __aexit__(self, type, value, traceback) -> None: # type: ignore
|
|
113
|
+
await self.destroyAsync()
|
|
114
|
+
|
|
115
|
+
@property
|
|
116
|
+
def eventLoopAdapter(self) -> EventLoopAdapter | None:
|
|
117
|
+
"""
|
|
118
|
+
The event loop adapter associated with this communicator, or None if the communicator does not have one.
|
|
119
|
+
|
|
120
|
+
Returns
|
|
121
|
+
-------
|
|
122
|
+
EventLoopAdapter | None
|
|
123
|
+
The event loop adapter used for integrating Ice with a custom event loop.
|
|
124
|
+
"""
|
|
125
|
+
|
|
126
|
+
return self._eventLoopAdapter
|
|
127
|
+
|
|
128
|
+
def _getImpl(self) -> IcePy.Communicator:
|
|
129
|
+
return self._impl
|
|
130
|
+
|
|
131
|
+
def destroy(self) -> None:
|
|
132
|
+
"""
|
|
133
|
+
Destroys this communicator. This method calls shutdown implicitly. Calling destroy destroys all
|
|
134
|
+
object adapters, and closes all outgoing connections. destroy waits for all outstanding dispatches to
|
|
135
|
+
complete before returning. This includes "bidirectional dispatches" that execute on outgoing connections.
|
|
136
|
+
"""
|
|
137
|
+
self._impl.destroy()
|
|
138
|
+
|
|
139
|
+
def destroyAsync(self) -> Awaitable[None]:
|
|
140
|
+
"""
|
|
141
|
+
Destroys this communicator asynchronously. This method calls shutdown implicitly. Calling destroy destroys all
|
|
142
|
+
object adapters, and closes all outgoing connections. destroy waits for all outstanding dispatches to
|
|
143
|
+
complete before returning. This includes "bidirectional dispatches" that execute on outgoing connections.
|
|
144
|
+
"""
|
|
145
|
+
future = Future()
|
|
146
|
+
|
|
147
|
+
def completed() -> None:
|
|
148
|
+
future.set_result(None)
|
|
149
|
+
|
|
150
|
+
wrappedFuture = future
|
|
151
|
+
if self._eventLoopAdapter:
|
|
152
|
+
wrappedFuture = self._eventLoopAdapter.wrapFuture(wrappedFuture)
|
|
153
|
+
|
|
154
|
+
self._impl.destroyAsync(completed)
|
|
155
|
+
return wrappedFuture
|
|
156
|
+
|
|
157
|
+
def shutdown(self) -> None:
|
|
158
|
+
"""
|
|
159
|
+
Shuts down this communicator. This method calls deactivate on all object adapters created by this
|
|
160
|
+
communicator. Shutting down a communicator has no effect on outgoing connections.
|
|
161
|
+
"""
|
|
162
|
+
self._impl.shutdown()
|
|
163
|
+
|
|
164
|
+
def waitForShutdown(self) -> None:
|
|
165
|
+
"""
|
|
166
|
+
Waits for shutdown to complete. This method calls waitForDeactivate on all object adapters
|
|
167
|
+
created by this communicator. In a client application that does not accept incoming connections, this
|
|
168
|
+
method returns as soon as another thread calls shutdown or destroy on this communicator.
|
|
169
|
+
"""
|
|
170
|
+
# If invoked by the main thread, waitForShutdown only blocks for the specified timeout in order to give us a
|
|
171
|
+
# chance to handle signals.
|
|
172
|
+
while not self._impl.waitForShutdown(500):
|
|
173
|
+
pass
|
|
174
|
+
|
|
175
|
+
def shutdownCompleted(self) -> Awaitable[None]:
|
|
176
|
+
"""
|
|
177
|
+
Return an awaitable that completes when the communicator's shutdown completes.
|
|
178
|
+
|
|
179
|
+
The returned Future always completes successfully.
|
|
180
|
+
|
|
181
|
+
Returns
|
|
182
|
+
-------
|
|
183
|
+
Awaitable[None]
|
|
184
|
+
An awaitable that completes upon shutdown completion.
|
|
185
|
+
"""
|
|
186
|
+
return self._impl.shutdownCompleted()
|
|
187
|
+
|
|
188
|
+
def isShutdown(self) -> bool:
|
|
189
|
+
"""
|
|
190
|
+
Checks whether or not shutdown was called on this communicator.
|
|
191
|
+
|
|
192
|
+
Returns
|
|
193
|
+
-------
|
|
194
|
+
bool
|
|
195
|
+
True if shutdown was called on this communicator; False otherwise.
|
|
196
|
+
"""
|
|
197
|
+
return self._impl.isShutdown()
|
|
198
|
+
|
|
199
|
+
def stringToProxy(self, str: str) -> ObjectPrx | None:
|
|
200
|
+
"""
|
|
201
|
+
Convert a proxy string representation into a proxy.
|
|
202
|
+
|
|
203
|
+
For example, `MyCategory/MyObject:tcp -h some_host -p 10000` creates a proxy that refers to the Ice object
|
|
204
|
+
having an identity with a name "MyObject" and a category "MyCategory", with the server running on host "some_host",
|
|
205
|
+
port 10000. If the proxy string representation does not parse correctly, the operation throws ParseException.
|
|
206
|
+
Refer to the Ice manual for a detailed description of the syntax supported by proxy strings.
|
|
207
|
+
|
|
208
|
+
Parameters
|
|
209
|
+
----------
|
|
210
|
+
proxyString : str
|
|
211
|
+
The proxy string representation to convert into a proxy.
|
|
212
|
+
|
|
213
|
+
Returns
|
|
214
|
+
-------
|
|
215
|
+
ObjectPrx | None
|
|
216
|
+
The proxy, or None if the string is empty.
|
|
217
|
+
|
|
218
|
+
Raises
|
|
219
|
+
------
|
|
220
|
+
ParseException
|
|
221
|
+
If the proxy string representation does not parse correctly.
|
|
222
|
+
"""
|
|
223
|
+
return self._impl.stringToProxy(str)
|
|
224
|
+
|
|
225
|
+
def proxyToString(self, proxy: ObjectPrx | None) -> str:
|
|
226
|
+
"""
|
|
227
|
+
Convert a proxy into a string.
|
|
228
|
+
|
|
229
|
+
Parameters
|
|
230
|
+
----------
|
|
231
|
+
proxy : ObjectPrx | None
|
|
232
|
+
The proxy to convert into a string representation.
|
|
233
|
+
|
|
234
|
+
Returns
|
|
235
|
+
-------
|
|
236
|
+
str
|
|
237
|
+
The proxy string representation, or an empty string if the proxy is None.
|
|
238
|
+
"""
|
|
239
|
+
return self._impl.proxyToString(proxy)
|
|
240
|
+
|
|
241
|
+
def propertyToProxy(self, property: str) -> ObjectPrx | None:
|
|
242
|
+
"""
|
|
243
|
+
Converts a set of proxy properties into a proxy. The "base" name supplied in the property argument refers to a
|
|
244
|
+
property containing a stringified proxy, such as :code:`MyProxy=id:tcp -h localhost -p 10000`.
|
|
245
|
+
Additional properties configure local settings for the proxy.
|
|
246
|
+
|
|
247
|
+
Parameters
|
|
248
|
+
----------
|
|
249
|
+
property : str
|
|
250
|
+
The base property name.
|
|
251
|
+
|
|
252
|
+
Returns
|
|
253
|
+
-------
|
|
254
|
+
ObjectPrx | None
|
|
255
|
+
The proxy, or None if the property is not set.
|
|
256
|
+
"""
|
|
257
|
+
return self._impl.propertyToProxy(property)
|
|
258
|
+
|
|
259
|
+
def proxyToProperty(self, proxy: ObjectPrx, property: str) -> dict[str, str]:
|
|
260
|
+
"""
|
|
261
|
+
Convert a proxy to a set of properties.
|
|
262
|
+
|
|
263
|
+
Parameters
|
|
264
|
+
----------
|
|
265
|
+
proxy : ObjectPrx
|
|
266
|
+
The proxy to convert.
|
|
267
|
+
property : str
|
|
268
|
+
The base property name.
|
|
269
|
+
|
|
270
|
+
Returns
|
|
271
|
+
-------
|
|
272
|
+
dict[str, str]
|
|
273
|
+
The property set.
|
|
274
|
+
"""
|
|
275
|
+
return self._impl.proxyToProperty(proxy, property)
|
|
276
|
+
|
|
277
|
+
def identityToString(self, identity: Identity) -> str:
|
|
278
|
+
"""
|
|
279
|
+
Convert an identity into a string.
|
|
280
|
+
|
|
281
|
+
Parameters
|
|
282
|
+
----------
|
|
283
|
+
identity : Identity
|
|
284
|
+
The identity to convert into a string.
|
|
285
|
+
|
|
286
|
+
Returns
|
|
287
|
+
-------
|
|
288
|
+
str
|
|
289
|
+
The string representation of the identity.
|
|
290
|
+
"""
|
|
291
|
+
return self._impl.identityToString(identity)
|
|
292
|
+
|
|
293
|
+
def createObjectAdapter(self, name: str) -> ObjectAdapter:
|
|
294
|
+
"""
|
|
295
|
+
Create a new object adapter.
|
|
296
|
+
|
|
297
|
+
The endpoints for the object adapter are taken from the property ``name.Endpoints``. It is legal to create an
|
|
298
|
+
object adapter with an empty string as its name. Such an object adapter is accessible via bidirectional connections
|
|
299
|
+
or by collocated invocations that originate from the same communicator as is used by the adapter. Attempts to create
|
|
300
|
+
a named object adapter for which no configuration can be found raise an InitializationException.
|
|
301
|
+
|
|
302
|
+
Parameters
|
|
303
|
+
----------
|
|
304
|
+
name : str
|
|
305
|
+
The object adapter name.
|
|
306
|
+
|
|
307
|
+
Returns
|
|
308
|
+
-------
|
|
309
|
+
ObjectAdapter
|
|
310
|
+
The new object adapter.
|
|
311
|
+
"""
|
|
312
|
+
adapter = self._impl.createObjectAdapter(name)
|
|
313
|
+
return ObjectAdapter(adapter)
|
|
314
|
+
|
|
315
|
+
def createObjectAdapterWithEndpoints(self, name: str, endpoints: str) -> ObjectAdapter:
|
|
316
|
+
"""
|
|
317
|
+
Create a new object adapter with endpoints.
|
|
318
|
+
|
|
319
|
+
This operation sets the property `name.Endpoints` and then calls `createObjectAdapter`. It is provided as a
|
|
320
|
+
convenience function. Calling this operation with an empty name will result in a UUID being generated for the name.
|
|
321
|
+
|
|
322
|
+
Parameters
|
|
323
|
+
----------
|
|
324
|
+
name : str
|
|
325
|
+
The object adapter name.
|
|
326
|
+
endpoints : str
|
|
327
|
+
The endpoints for the object adapter.
|
|
328
|
+
|
|
329
|
+
Returns
|
|
330
|
+
-------
|
|
331
|
+
ObjectAdapter
|
|
332
|
+
The new object adapter.
|
|
333
|
+
"""
|
|
334
|
+
adapter = self._impl.createObjectAdapterWithEndpoints(name, endpoints)
|
|
335
|
+
return ObjectAdapter(adapter)
|
|
336
|
+
|
|
337
|
+
def createObjectAdapterWithRouter(self, name: str, router: RouterPrx) -> ObjectAdapter:
|
|
338
|
+
"""
|
|
339
|
+
Create a new object adapter with a router.
|
|
340
|
+
|
|
341
|
+
This operation creates a routed object adapter. Calling this operation with an empty name will result in a UUID being generated for the name.
|
|
342
|
+
|
|
343
|
+
Parameters
|
|
344
|
+
----------
|
|
345
|
+
name : str
|
|
346
|
+
The object adapter name.
|
|
347
|
+
router : RouterPrx
|
|
348
|
+
The router.
|
|
349
|
+
|
|
350
|
+
Returns
|
|
351
|
+
-------
|
|
352
|
+
ObjectAdapter
|
|
353
|
+
The new object adapter.
|
|
354
|
+
"""
|
|
355
|
+
adapter = self._impl.createObjectAdapterWithRouter(name, router)
|
|
356
|
+
return ObjectAdapter(adapter)
|
|
357
|
+
|
|
358
|
+
def getDefaultObjectAdapter(self) -> ObjectAdapter | None:
|
|
359
|
+
"""
|
|
360
|
+
Get the object adapter that is associated by default with new outgoing connections created by this
|
|
361
|
+
communicator. This method returns None unless you set a default object adapter using createDefaultObjectAdapter.
|
|
362
|
+
|
|
363
|
+
Returns
|
|
364
|
+
-------
|
|
365
|
+
ObjectAdapter | None
|
|
366
|
+
The object adapter associated by default with new outgoing connections.
|
|
367
|
+
"""
|
|
368
|
+
return self._impl.getDefaultObjectAdapter()
|
|
369
|
+
|
|
370
|
+
def setDefaultObjectAdapter(self, adapter: ObjectAdapter | None):
|
|
371
|
+
"""
|
|
372
|
+
Set the object adapter that is associated by default with new outgoing connections created by this communicator.
|
|
373
|
+
|
|
374
|
+
Parameters
|
|
375
|
+
----------
|
|
376
|
+
adapter : ObjectAdapter | None
|
|
377
|
+
The object adapter to associate with new outgoing connections.
|
|
378
|
+
"""
|
|
379
|
+
self._impl.setDefaultObjectAdapter(adapter)
|
|
380
|
+
|
|
381
|
+
def getImplicitContext(self):
|
|
382
|
+
"""
|
|
383
|
+
Get the implicit context associated with this communicator.
|
|
384
|
+
|
|
385
|
+
Returns
|
|
386
|
+
-------
|
|
387
|
+
ImplicitContext or None
|
|
388
|
+
The implicit context associated with this communicator, or None if the property Ice.ImplicitContext is not set or is set to ``"None"``.
|
|
389
|
+
"""
|
|
390
|
+
context = self._impl.getImplicitContext()
|
|
391
|
+
if context is None:
|
|
392
|
+
return None
|
|
393
|
+
else:
|
|
394
|
+
return ImplicitContext(context)
|
|
395
|
+
|
|
396
|
+
def getProperties(self) -> Properties:
|
|
397
|
+
"""
|
|
398
|
+
Get the properties for this communicator.
|
|
399
|
+
|
|
400
|
+
Returns
|
|
401
|
+
-------
|
|
402
|
+
Properties
|
|
403
|
+
The properties associated with this communicator.
|
|
404
|
+
"""
|
|
405
|
+
properties = self._impl.getProperties()
|
|
406
|
+
return Properties(properties=properties)
|
|
407
|
+
|
|
408
|
+
def getLogger(self) -> Logger:
|
|
409
|
+
"""
|
|
410
|
+
Get the logger for this communicator.
|
|
411
|
+
|
|
412
|
+
Returns
|
|
413
|
+
-------
|
|
414
|
+
Logger
|
|
415
|
+
The logger associated with this communicator.
|
|
416
|
+
"""
|
|
417
|
+
logger = self._impl.getLogger()
|
|
418
|
+
if isinstance(logger, Logger):
|
|
419
|
+
return logger
|
|
420
|
+
else:
|
|
421
|
+
return LoggerI(logger)
|
|
422
|
+
|
|
423
|
+
def getDefaultRouter(self) -> RouterPrx | None:
|
|
424
|
+
"""
|
|
425
|
+
Get the default router for this communicator.
|
|
426
|
+
|
|
427
|
+
Returns
|
|
428
|
+
-------
|
|
429
|
+
RouterPrx | None
|
|
430
|
+
The default router for this communicator, or None if no default router has been set.
|
|
431
|
+
"""
|
|
432
|
+
return self._impl.getDefaultRouter()
|
|
433
|
+
|
|
434
|
+
def setDefaultRouter(self, router: RouterPrx | None):
|
|
435
|
+
"""
|
|
436
|
+
Set a default router for this communicator.
|
|
437
|
+
|
|
438
|
+
All newly created proxies will use this default router. To disable the default router, pass `None`.
|
|
439
|
+
Note that this operation has no effect on existing proxies.
|
|
440
|
+
|
|
441
|
+
You can also set a router for an individual proxy by calling the method `ObjectPrx.ice_router` on the
|
|
442
|
+
proxy.
|
|
443
|
+
|
|
444
|
+
Parameters
|
|
445
|
+
----------
|
|
446
|
+
router : RouterPrx | None
|
|
447
|
+
The default router to use for this communicator.
|
|
448
|
+
"""
|
|
449
|
+
self._impl.setDefaultRouter(router)
|
|
450
|
+
|
|
451
|
+
def getDefaultLocator(self) -> LocatorPrx | None:
|
|
452
|
+
"""
|
|
453
|
+
Get the default locator for this communicator.
|
|
454
|
+
|
|
455
|
+
Returns
|
|
456
|
+
-------
|
|
457
|
+
LocatorPrx | None
|
|
458
|
+
The default locator for this communicator, or None if no default locator has been set.
|
|
459
|
+
"""
|
|
460
|
+
return self._impl.getDefaultLocator()
|
|
461
|
+
|
|
462
|
+
def setDefaultLocator(self, locator: LocatorPrx | None):
|
|
463
|
+
"""
|
|
464
|
+
Set a default Ice locator for this communicator.
|
|
465
|
+
|
|
466
|
+
All newly created proxies and object adapters will use this default locator. To disable the default locator,
|
|
467
|
+
pass `None`. Note that this operation has no effect on existing proxies or object adapters.
|
|
468
|
+
|
|
469
|
+
You can also set a locator for an individual proxy by calling the method `ObjectPrx.ice_locator` on the
|
|
470
|
+
proxy, or for an object adapter by calling `ObjectAdapter.setLocator` on the object adapter.
|
|
471
|
+
|
|
472
|
+
Parameters
|
|
473
|
+
----------
|
|
474
|
+
locator : LocatorPrx | None
|
|
475
|
+
The default locator to use for this communicator.
|
|
476
|
+
"""
|
|
477
|
+
self._impl.setDefaultLocator(locator)
|
|
478
|
+
|
|
479
|
+
def flushBatchRequests(self, compress: CompressBatch):
|
|
480
|
+
"""
|
|
481
|
+
Flush any pending batch requests for this communicator. This means all batch requests invoked on fixed proxies
|
|
482
|
+
for all connections associated with the communicator. Any errors that occur while flushing a connection are
|
|
483
|
+
ignored.
|
|
484
|
+
|
|
485
|
+
Parameters
|
|
486
|
+
----------
|
|
487
|
+
compress : CompressBatch
|
|
488
|
+
Specifies whether or not the queued batch requests should be compressed before being sent over the wire.
|
|
489
|
+
"""
|
|
490
|
+
self._impl.flushBatchRequests(compress)
|
|
491
|
+
|
|
492
|
+
def flushBatchRequestsAsync(self, compress: CompressBatch) -> Awaitable[None]:
|
|
493
|
+
"""
|
|
494
|
+
Flush any pending batch requests for this communicator asynchronously. This means all batch requests invoked on fixed proxies
|
|
495
|
+
for all connections associated with the communicator. Any errors that occur while flushing a connection are
|
|
496
|
+
ignored.
|
|
497
|
+
|
|
498
|
+
Parameters
|
|
499
|
+
----------
|
|
500
|
+
compress : CompressBatch
|
|
501
|
+
Specifies whether or not the queued batch requests should be compressed before being sent over the wire.
|
|
502
|
+
"""
|
|
503
|
+
return self._impl.flushBatchRequestsAsync(compress)
|
|
504
|
+
|
|
505
|
+
def createAdmin(self, adminAdapter: ObjectAdapter | None, adminId: Identity) -> ObjectPrx:
|
|
506
|
+
"""
|
|
507
|
+
Add the Admin object with all its facets to the provided object adapter.
|
|
508
|
+
|
|
509
|
+
If ``Ice.Admin.ServerId`` is set and the provided object adapter has a Locator, ``createAdmin`` registers the
|
|
510
|
+
Admin's Process facet with the Locator's LocatorRegistry. ``createAdmin`` must only be called once;
|
|
511
|
+
subsequent calls raise `InitializationException`.
|
|
512
|
+
|
|
513
|
+
Parameters
|
|
514
|
+
----------
|
|
515
|
+
adminAdapter : ObjectAdapter | None
|
|
516
|
+
The object adapter used to host the Admin object. If `None` and `Ice.Admin.Endpoints` is set,
|
|
517
|
+
create, activate, and use the Admin object adapter.
|
|
518
|
+
adminId : Identity
|
|
519
|
+
The identity of the Admin object.
|
|
520
|
+
|
|
521
|
+
Returns
|
|
522
|
+
-------
|
|
523
|
+
ObjectPrx
|
|
524
|
+
A proxy to the main ("") facet of the Admin object.
|
|
525
|
+
|
|
526
|
+
Raises
|
|
527
|
+
------
|
|
528
|
+
InitializationException
|
|
529
|
+
If the method is called more than once.
|
|
530
|
+
"""
|
|
531
|
+
return self._impl.createAdmin(adminAdapter, adminId)
|
|
532
|
+
|
|
533
|
+
def getAdmin(self) -> ObjectPrx | None:
|
|
534
|
+
"""
|
|
535
|
+
Get a proxy to the main facet of the Admin object.
|
|
536
|
+
|
|
537
|
+
This method also creates the Admin object and activates the ``Ice.Admin`` object adapter to host this Admin
|
|
538
|
+
object if ``Ice.Admin.Endpoints`` property is set. The identity of the Admin object created by getAdmin is
|
|
539
|
+
``{value of Ice.Admin.InstanceName}/admin``, or ``{UUID}/admin`` when ``Ice.Admin.InstanceName`` property is
|
|
540
|
+
not set. If ``Ice.Admin.DelayCreation`` property is 0 or not set, getAdmin is called by the communicator
|
|
541
|
+
initialization, after initialization of all plugins.
|
|
542
|
+
|
|
543
|
+
Returns
|
|
544
|
+
-------
|
|
545
|
+
ObjectPrx | None
|
|
546
|
+
A proxy to the main ("") facet of the Admin object, or None if no Admin object is configured.
|
|
547
|
+
"""
|
|
548
|
+
return self._impl.getAdmin()
|
|
549
|
+
|
|
550
|
+
def addAdminFacet(self, servant: Object | None, facet: str) -> None:
|
|
551
|
+
"""
|
|
552
|
+
Adds a new facet to the Admin object.
|
|
553
|
+
|
|
554
|
+
This method adds a new servant implementing the specified Admin facet.
|
|
555
|
+
|
|
556
|
+
Parameters
|
|
557
|
+
----------
|
|
558
|
+
servant : Object
|
|
559
|
+
The servant that implements the new Admin facet.
|
|
560
|
+
facet : str
|
|
561
|
+
The name of the new Admin facet.
|
|
562
|
+
|
|
563
|
+
Raises
|
|
564
|
+
------
|
|
565
|
+
AlreadyRegisteredException
|
|
566
|
+
If the facet is already registered.
|
|
567
|
+
"""
|
|
568
|
+
self._impl.addAdminFacet(servant, facet)
|
|
569
|
+
|
|
570
|
+
def removeAdminFacet(self, facet: str) -> Object:
|
|
571
|
+
"""
|
|
572
|
+
Remove the specified facet from the Admin object.
|
|
573
|
+
|
|
574
|
+
Removing a facet that was not previously registered throws a NotRegisteredException.
|
|
575
|
+
|
|
576
|
+
Parameters
|
|
577
|
+
----------
|
|
578
|
+
facet : str
|
|
579
|
+
The name of the Admin facet to be removed.
|
|
580
|
+
|
|
581
|
+
Returns
|
|
582
|
+
-------
|
|
583
|
+
Object
|
|
584
|
+
The servant associated with the removed Admin facet.
|
|
585
|
+
|
|
586
|
+
Raises
|
|
587
|
+
------
|
|
588
|
+
NotRegisteredException
|
|
589
|
+
If the facet is not registered.
|
|
590
|
+
"""
|
|
591
|
+
return self._impl.removeAdminFacet(facet)
|
|
592
|
+
|
|
593
|
+
def findAdminFacet(self, facet: str) -> Object | None:
|
|
594
|
+
"""
|
|
595
|
+
Return a facet of the Admin object.
|
|
596
|
+
|
|
597
|
+
Parameters
|
|
598
|
+
----------
|
|
599
|
+
facet : str
|
|
600
|
+
The name of the Admin facet.
|
|
601
|
+
|
|
602
|
+
Returns
|
|
603
|
+
-------
|
|
604
|
+
Object | None
|
|
605
|
+
The servant associated with the specified Admin facet, or None if no facet is registered with the given name.
|
|
606
|
+
"""
|
|
607
|
+
return self._impl.findAdminFacet(facet)
|
|
608
|
+
|
|
609
|
+
def findAllAdminFacets(self) -> dict[str, Object]:
|
|
610
|
+
"""
|
|
611
|
+
Return a dictionary of all facets of the Admin object.
|
|
612
|
+
|
|
613
|
+
Returns
|
|
614
|
+
-------
|
|
615
|
+
dict[str, Object]
|
|
616
|
+
A dictionary where the keys are facet names and the values are the associated servants.
|
|
617
|
+
"""
|
|
618
|
+
return self._impl.findAllAdminFacets()
|
|
619
|
+
|
|
620
|
+
|
|
621
|
+
__all__ = ["Communicator"]
|
Ice/CompressBatch.py
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
# Copyright (c) ZeroC, Inc.
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
from enum import Enum
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class CompressBatch(Enum):
|
|
8
|
+
"""
|
|
9
|
+
The batch compression option when flushing queued batch requests.
|
|
10
|
+
|
|
11
|
+
Enumerators:
|
|
12
|
+
|
|
13
|
+
- Yes:
|
|
14
|
+
Compress the batch requests.
|
|
15
|
+
|
|
16
|
+
- No:
|
|
17
|
+
Don't compress the batch requests.
|
|
18
|
+
|
|
19
|
+
- BasedOnProxy:
|
|
20
|
+
Compress the batch requests if at least one request was made on a compressed proxy.
|
|
21
|
+
"""
|
|
22
|
+
|
|
23
|
+
Yes = 0
|
|
24
|
+
No = 1
|
|
25
|
+
BasedOnProxy = 2
|
Ice/Context.py
ADDED
Ice/Current.py
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Copyright (c) ZeroC, Inc.
|
|
2
|
+
|
|
3
|
+
from dataclasses import dataclass
|
|
4
|
+
|
|
5
|
+
from IcePy import Connection
|
|
6
|
+
|
|
7
|
+
from .EncodingVersion import EncodingVersion
|
|
8
|
+
from .Identity import Identity
|
|
9
|
+
from .ObjectAdapter import ObjectAdapter
|
|
10
|
+
from .OperationMode import OperationMode
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
@dataclass(frozen=True)
|
|
14
|
+
class Current:
|
|
15
|
+
"""
|
|
16
|
+
Provides information about an incoming request being dispatched.
|
|
17
|
+
|
|
18
|
+
Attributes
|
|
19
|
+
----------
|
|
20
|
+
adapter : Ice.ObjectAdapter
|
|
21
|
+
The object adapter that received the request.
|
|
22
|
+
con : IcePy.Connection | None
|
|
23
|
+
The connection that received the request. It's None when the invocation and dispatch are collocated.
|
|
24
|
+
id : Ice.Identity
|
|
25
|
+
The identity of the target Ice object.
|
|
26
|
+
facet : str
|
|
27
|
+
The facet of the target Ice object.
|
|
28
|
+
operation : str
|
|
29
|
+
The name of the operation.
|
|
30
|
+
mode : Ice.OperationMode
|
|
31
|
+
The operation mode (idempotent or not).
|
|
32
|
+
ctx : dict[str, str]
|
|
33
|
+
The request context.
|
|
34
|
+
requestId : int
|
|
35
|
+
The request ID. 0 means the request is a one-way request.
|
|
36
|
+
encoding : Ice.EncodingVersion
|
|
37
|
+
The encoding of the request payload.
|
|
38
|
+
"""
|
|
39
|
+
|
|
40
|
+
adapter: ObjectAdapter
|
|
41
|
+
con: Connection | None
|
|
42
|
+
id: Identity
|
|
43
|
+
facet: str
|
|
44
|
+
operation: str
|
|
45
|
+
mode: OperationMode
|
|
46
|
+
ctx: dict[str, str]
|
|
47
|
+
requestId: int
|
|
48
|
+
encoding: EncodingVersion
|