zeroc-ice 3.7.10.1__cp312-cp312-win_amd64.whl → 3.8.0.post1__cp312-cp312-win_amd64.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 -226
- Glacier2/py.typed +0 -0
- Ice/AdapterAlreadyActiveException.py +35 -0
- Ice/AdapterNotFoundException.py +35 -0
- Ice/BTEndpointType.py +18 -0
- Ice/BTSEndpointType.py +18 -0
- Ice/Blobject.py +42 -0
- Ice/BoolSeq.py +10 -0
- Ice/Builtin.py +11 -0
- Ice/ByteSeq.py +10 -0
- Ice/Communicator.py +633 -0
- Ice/CompressBatch.py +25 -0
- Ice/Context.py +10 -0
- Ice/Current.py +47 -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 +27 -0
- Ice/FloatSeq.py +10 -0
- Ice/FormatType.py +22 -0
- Ice/Future.py +375 -0
- Ice/IcePyTypes.py +49 -0
- Ice/Identity.py +40 -0
- Ice/IdentitySeq.py +12 -0
- Ice/ImplicitContext.py +119 -0
- Ice/InitializationData.py +65 -0
- Ice/IntSeq.py +10 -0
- Ice/InvalidReplicaGroupIdException.py +34 -0
- Ice/InvocationFuture.py +155 -0
- Ice/LocalException.py +12 -0
- Ice/LocalExceptions.py +534 -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 +51 -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 +150 -0
- Ice/ObjectAdapter.py +621 -0
- Ice/ObjectNotFoundException.py +35 -0
- Ice/ObjectProxySeq.py +12 -0
- Ice/ObjectPrx.py +934 -0
- Ice/ObjectPrx_forward.py +7 -0
- Ice/ObjectSeq.py +12 -0
- Ice/OperationMode.py +52 -0
- Ice/Process.py +217 -0
- Ice/ProcessLogger.py +41 -0
- Ice/Process_forward.py +10 -0
- Ice/Properties.py +371 -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 +126 -0
- Ice/RemoteLogger.py +238 -0
- Ice/RemoteLoggerAlreadyAttachedException.py +34 -0
- Ice/RemoteLogger_forward.py +10 -0
- Ice/ReplyStatus.py +91 -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 +18 -0
- Ice/ServantLocator.py +88 -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 +18 -0
- Ice/ToStringMode.py +34 -0
- Ice/UDPEndpointType.py +18 -0
- Ice/URIEndpointType.py +18 -0
- Ice/UnknownSlicedValue.py +39 -0
- Ice/UserException.py +18 -0
- Ice/Util.py +171 -0
- Ice/Value.py +59 -0
- Ice/Value_forward.py +7 -0
- Ice/WSEndpointType.py +18 -0
- Ice/WSSEndpointType.py +18 -0
- Ice/_ArrayUtil.py +51 -0
- Ice/_LoggerI.py +32 -0
- Ice/__init__.py +369 -2008
- Ice/asyncio/EventLoopAdapter.py +31 -0
- Ice/asyncio/__init__.py +5 -0
- Ice/iAPEndpointType.py +18 -0
- Ice/iAPSEndpointType.py +18 -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 -10
- 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 +70 -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 -17
- 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 -12
- IceMX/py.typed +0 -0
- IcePy-stubs/__init__.pyi +739 -0
- IcePy.cp312-win_amd64.pdb +0 -0
- IcePy.cp312-win_amd64.pyd +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 -10
- IceStorm/py.typed +0 -0
- slice/DataStorm/SampleEvent.ice +29 -0
- slice/Glacier2/Metrics.ice +47 -88
- slice/Glacier2/PermissionsVerifier.ice +55 -111
- slice/Glacier2/Router.ice +93 -186
- slice/Glacier2/SSLInfo.ice +42 -59
- slice/Glacier2/Session.ice +133 -274
- slice/Ice/BuiltinSequences.ice +54 -59
- slice/Ice/Context.ice +24 -0
- slice/Ice/EndpointTypes.ice +50 -48
- slice/Ice/Identity.ice +36 -75
- slice/Ice/Locator.ice +74 -239
- slice/Ice/LocatorRegistry.ice +77 -0
- slice/Ice/Metrics.ice +201 -436
- slice/Ice/OperationMode.ice +38 -0
- slice/Ice/Process.ice +28 -64
- slice/Ice/PropertiesAdmin.ice +37 -87
- slice/Ice/PropertyDict.ice +23 -0
- slice/Ice/RemoteLogger.ice +126 -226
- slice/Ice/ReplyStatus.ice +65 -0
- slice/Ice/Router.ice +54 -103
- slice/Ice/SliceChecksumDict.ice +18 -36
- slice/Ice/Version.ice +43 -51
- slice/IceBox/ServiceManager.ice +79 -0
- slice/IceGrid/Admin.ice +981 -1957
- slice/IceGrid/Descriptor.ice +519 -1094
- slice/IceGrid/Exception.ice +98 -396
- slice/IceGrid/FileParser.ice +36 -72
- slice/IceGrid/Registry.ice +130 -269
- slice/IceGrid/Session.ice +64 -128
- slice/IceGrid/UserAccountMapper.ice +34 -69
- slice/IceStorm/IceStorm.ice +186 -414
- slice/IceStorm/Metrics.ice +41 -83
- slice2py.py +20 -21
- zeroc_ice-3.8.0.post1.dist-info/METADATA +106 -0
- zeroc_ice-3.8.0.post1.dist-info/RECORD +344 -0
- {zeroc_ice-3.7.10.1.dist-info → zeroc_ice-3.8.0.post1.dist-info}/WHEEL +1 -1
- {zeroc_ice-3.7.10.1.dist-info → zeroc_ice-3.8.0.post1.dist-info}/top_level.txt +1 -1
- Glacier2/Metrics_ice.py +0 -82
- Glacier2/PermissionsVerifierF_ice.py +0 -32
- Glacier2/PermissionsVerifier_ice.py +0 -284
- Glacier2/RouterF_ice.py +0 -28
- Glacier2/Router_ice.py +0 -618
- Glacier2/SSLInfo_ice.py +0 -179
- Glacier2/Session_ice.py +0 -1103
- Ice/BuiltinSequences_ice.py +0 -65
- Ice/CommunicatorF_ice.py +0 -27
- Ice/Communicator_ice.py +0 -469
- Ice/ConnectionF_ice.py +0 -33
- Ice/Connection_ice.py +0 -680
- Ice/Current_ice.py +0 -175
- Ice/EndpointF_ice.py +0 -45
- Ice/EndpointTypes_ice.py +0 -54
- Ice/Endpoint_ice.py +0 -304
- Ice/FacetMap_ice.py +0 -27
- Ice/Identity_ice.py +0 -133
- Ice/ImplicitContextF_ice.py +0 -27
- Ice/ImplicitContext_ice.py +0 -119
- Ice/InstrumentationF_ice.py +0 -38
- Ice/Instrumentation_ice.py +0 -566
- Ice/LocalException_ice.py +0 -1715
- Ice/LocatorF_ice.py +0 -32
- Ice/Locator_ice.py +0 -728
- Ice/LoggerF_ice.py +0 -27
- Ice/Logger_ice.py +0 -96
- Ice/Metrics_ice.py +0 -864
- Ice/ObjectAdapterF_ice.py +0 -27
- Ice/ObjectAdapter_ice.py +0 -461
- Ice/ObjectFactory_ice.py +0 -68
- Ice/PluginF_ice.py +0 -30
- Ice/Plugin_ice.py +0 -136
- Ice/ProcessF_ice.py +0 -28
- Ice/Process_ice.py +0 -175
- Ice/PropertiesAdmin_ice.py +0 -247
- Ice/PropertiesF_ice.py +0 -31
- Ice/Properties_ice.py +0 -199
- Ice/Py3/IceFuture.py +0 -52
- Ice/Py3/__init__.py +0 -3
- Ice/RemoteLogger_ice.py +0 -617
- Ice/RouterF_ice.py +0 -28
- Ice/Router_ice.py +0 -350
- Ice/ServantLocatorF_ice.py +0 -27
- Ice/ServantLocator_ice.py +0 -110
- Ice/SliceChecksumDict_ice.py +0 -29
- Ice/ValueFactory_ice.py +0 -125
- Ice/Version_ice.py +0 -217
- IceBox/IceBox_ice.py +0 -644
- IceGrid/Admin_ice.py +0 -6662
- IceGrid/Descriptor_ice.py +0 -1795
- IceGrid/Exception_ice.py +0 -592
- IceGrid/FileParser_ice.py +0 -171
- IceGrid/PluginFacade_ice.py +0 -288
- IceGrid/Registry_ice.py +0 -985
- IceGrid/Session_ice.py +0 -406
- IceGrid/UserAccountMapper_ice.py +0 -166
- IcePatch2/FileInfo_ice.py +0 -287
- IcePatch2/FileServer_ice.py +0 -555
- IcePatch2/__init__.py +0 -11
- IceStorm/IceStorm_ice.py +0 -1265
- IceStorm/Metrics_ice.py +0 -106
- slice/Glacier2/PermissionsVerifierF.ice +0 -30
- slice/Glacier2/RouterF.ice +0 -29
- slice/Ice/Communicator.ice +0 -676
- slice/Ice/CommunicatorF.ice +0 -31
- slice/Ice/Connection.ice +0 -516
- slice/Ice/ConnectionF.ice +0 -33
- slice/Ice/Current.ice +0 -170
- slice/Ice/Endpoint.ice +0 -291
- slice/Ice/EndpointF.ice +0 -43
- slice/Ice/FacetMap.ice +0 -36
- slice/Ice/ImplicitContext.ice +0 -119
- slice/Ice/ImplicitContextF.ice +0 -30
- slice/Ice/Instrumentation.ice +0 -509
- slice/Ice/InstrumentationF.ice +0 -38
- slice/Ice/LocalException.ice +0 -1040
- slice/Ice/LocatorF.ice +0 -32
- slice/Ice/Logger.ice +0 -99
- slice/Ice/LoggerF.ice +0 -31
- slice/Ice/ObjectAdapter.ice +0 -710
- slice/Ice/ObjectAdapterF.ice +0 -31
- slice/Ice/ObjectFactory.ice +0 -71
- slice/Ice/Plugin.ice +0 -131
- slice/Ice/PluginF.ice +0 -36
- slice/Ice/ProcessF.ice +0 -31
- slice/Ice/Properties.ice +0 -244
- slice/Ice/PropertiesF.ice +0 -32
- slice/Ice/RouterF.ice +0 -31
- slice/Ice/ServantLocator.ice +0 -136
- slice/Ice/ServantLocatorF.ice +0 -31
- slice/Ice/ValueFactory.ice +0 -133
- slice/IceBT/ConnectionInfo.ice +0 -59
- slice/IceBT/EndpointInfo.ice +0 -57
- slice/IceBT/Types.ice +0 -45
- slice/IceBox/IceBox.ice +0 -216
- slice/IceDiscovery/IceDiscovery.ice +0 -98
- slice/IceGrid/PluginFacade.ice +0 -329
- slice/IceIAP/ConnectionInfo.ice +0 -74
- slice/IceIAP/EndpointInfo.ice +0 -68
- slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +0 -83
- slice/IcePatch2/FileInfo.ice +0 -85
- slice/IcePatch2/FileServer.ice +0 -191
- slice/IceSSL/ConnectionInfo.ice +0 -54
- slice/IceSSL/ConnectionInfoF.ice +0 -31
- slice/IceSSL/EndpointInfo.ice +0 -45
- zeroc_ice-3.7.10.1.dist-info/LICENSE +0 -340
- zeroc_ice-3.7.10.1.dist-info/METADATA +0 -97
- zeroc_ice-3.7.10.1.dist-info/RECORD +0 -145
- {zeroc_ice-3.7.10.1.dist-info → zeroc_ice-3.8.0.post1.dist-info}/entry_points.txt +0 -0
Ice/__init__.py
CHANGED
|
@@ -1,2008 +1,369 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
"""
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
#
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
import
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
350
|
-
|
|
351
|
-
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
by the given Slice type id.
|
|
371
|
-
Arguments:
|
|
372
|
-
id The Slice type id
|
|
373
|
-
Returns:
|
|
374
|
-
True if the target object supports the interface, or False otherwise.
|
|
375
|
-
'''
|
|
376
|
-
return id in self.ice_ids(current)
|
|
377
|
-
|
|
378
|
-
def ice_ping(self, current=None):
|
|
379
|
-
'''A reachability test for the target object.'''
|
|
380
|
-
pass
|
|
381
|
-
|
|
382
|
-
def ice_ids(self, current=None):
|
|
383
|
-
'''Obtains the type ids corresponding to the Slice interface
|
|
384
|
-
that are supported by the target object.
|
|
385
|
-
Returns:
|
|
386
|
-
A list of type ids.
|
|
387
|
-
'''
|
|
388
|
-
return [ self.ice_id(current) ]
|
|
389
|
-
|
|
390
|
-
def ice_id(self, current=None):
|
|
391
|
-
'''Obtains the type id corresponding to the most-derived Slice
|
|
392
|
-
interface supported by the target object.
|
|
393
|
-
Returns:
|
|
394
|
-
The type id.
|
|
395
|
-
'''
|
|
396
|
-
return '::Ice::Object'
|
|
397
|
-
|
|
398
|
-
@staticmethod
|
|
399
|
-
def ice_staticId():
|
|
400
|
-
'''Obtains the type id of this Slice class or interface.
|
|
401
|
-
Returns:
|
|
402
|
-
The type id.
|
|
403
|
-
'''
|
|
404
|
-
return '::Ice::Object'
|
|
405
|
-
|
|
406
|
-
def _iceDispatch(self, cb, method, args):
|
|
407
|
-
# Invoke the given servant method. Exceptions can propagate to the caller.
|
|
408
|
-
result = method(*args)
|
|
409
|
-
|
|
410
|
-
# Check for a future.
|
|
411
|
-
if isinstance(result, Future) or callable(getattr(result, "add_done_callback", None)):
|
|
412
|
-
def handler(future):
|
|
413
|
-
try:
|
|
414
|
-
cb.response(future.result())
|
|
415
|
-
except:
|
|
416
|
-
cb.exception(sys.exc_info()[1])
|
|
417
|
-
result.add_done_callback(handler)
|
|
418
|
-
elif Python35() and inspect.iscoroutine(result): # The iscoroutine() function was added in Python 3.5.
|
|
419
|
-
self._iceDispatchCoroutine(cb, result)
|
|
420
|
-
else:
|
|
421
|
-
cb.response(result)
|
|
422
|
-
|
|
423
|
-
def _iceDispatchCoroutine(self, cb, coro, value=None, exception=None):
|
|
424
|
-
try:
|
|
425
|
-
if exception:
|
|
426
|
-
result = coro.throw(exception)
|
|
427
|
-
else:
|
|
428
|
-
result = coro.send(value)
|
|
429
|
-
|
|
430
|
-
if result is None:
|
|
431
|
-
# The result can be None if the coroutine performs a bare yield (such as asyncio.sleep(0))
|
|
432
|
-
cb.response(None)
|
|
433
|
-
elif isinstance(result, Future) or callable(getattr(result, "add_done_callback", None)):
|
|
434
|
-
# If we've received a future from the coroutine setup a done callback to continue the dispatching
|
|
435
|
-
# when the future completes.
|
|
436
|
-
def handler(future):
|
|
437
|
-
try:
|
|
438
|
-
self._iceDispatchCoroutine(cb, coro, value=future.result())
|
|
439
|
-
except:
|
|
440
|
-
self._iceDispatchCoroutine(cb, coro, exception=sys.exc_info()[1])
|
|
441
|
-
result.add_done_callback(handler)
|
|
442
|
-
else:
|
|
443
|
-
raise RuntimeError('unexpected value of type ' + str(type(result)) + ' provided by coroutine')
|
|
444
|
-
except StopIteration as ex:
|
|
445
|
-
# StopIteration is raised when the coroutine completes.
|
|
446
|
-
cb.response(ex.value)
|
|
447
|
-
except:
|
|
448
|
-
cb.exception(sys.exc_info()[1])
|
|
449
|
-
|
|
450
|
-
class Blobject(Object):
|
|
451
|
-
'''Special-purpose servant base class that allows a subclass to
|
|
452
|
-
handle synchronous Ice invocations as "blobs" of bytes.'''
|
|
453
|
-
|
|
454
|
-
def ice_invoke(self, bytes, current):
|
|
455
|
-
'''Dispatch a synchronous Ice invocation. The operation's
|
|
456
|
-
arguments are encoded in the bytes argument. The return
|
|
457
|
-
value must be a tuple of two values: the first is a
|
|
458
|
-
boolean indicating whether the operation succeeded (True)
|
|
459
|
-
or raised a user exception (False), and the second is
|
|
460
|
-
the encoded form of the operation's results or the user
|
|
461
|
-
exception.
|
|
462
|
-
'''
|
|
463
|
-
pass
|
|
464
|
-
|
|
465
|
-
class BlobjectAsync(Object):
|
|
466
|
-
'''Special-purpose servant base class that allows a subclass to
|
|
467
|
-
handle asynchronous Ice invocations as "blobs" of bytes.'''
|
|
468
|
-
|
|
469
|
-
def ice_invoke(self, bytes, current):
|
|
470
|
-
'''Dispatch an asynchronous Ice invocation. The operation's
|
|
471
|
-
arguments are encoded in the bytes argument. The result must be
|
|
472
|
-
a tuple of two values: the first is a boolean indicating whether the
|
|
473
|
-
operation succeeded (True) or raised a user exception (False), and
|
|
474
|
-
the second is the encoded form of the operation's results or the user
|
|
475
|
-
exception. The subclass can either return the tuple directly (for
|
|
476
|
-
synchronous completion) or return a future that is eventually
|
|
477
|
-
completed with the tuple.
|
|
478
|
-
'''
|
|
479
|
-
pass
|
|
480
|
-
|
|
481
|
-
#
|
|
482
|
-
# Exceptions.
|
|
483
|
-
#
|
|
484
|
-
class Exception(Exception): # Derives from built-in base 'Exception' class.
|
|
485
|
-
'''The base class for all Ice exceptions.'''
|
|
486
|
-
def __str__(self):
|
|
487
|
-
return self.__class__.__name__
|
|
488
|
-
|
|
489
|
-
def ice_name(self):
|
|
490
|
-
'''Returns the type name of this exception.'''
|
|
491
|
-
return self.ice_id()[2:]
|
|
492
|
-
|
|
493
|
-
def ice_id(self):
|
|
494
|
-
'''Returns the type id of this exception.'''
|
|
495
|
-
return self._ice_id
|
|
496
|
-
|
|
497
|
-
class LocalException(Exception):
|
|
498
|
-
'''The base class for all Ice run-time exceptions.'''
|
|
499
|
-
def __init__(self, args=''):
|
|
500
|
-
self.args = args
|
|
501
|
-
|
|
502
|
-
class UserException(Exception):
|
|
503
|
-
'''The base class for all user-defined exceptions.'''
|
|
504
|
-
|
|
505
|
-
def ice_getSlicedData(self):
|
|
506
|
-
'''Returns the sliced data if the value has a preserved-slice base class and has been sliced during
|
|
507
|
-
un-marshaling of the value, null is returned otherwise.
|
|
508
|
-
Returns:
|
|
509
|
-
The sliced data or null.
|
|
510
|
-
'''
|
|
511
|
-
return getattr(self, "_ice_slicedData", None);
|
|
512
|
-
|
|
513
|
-
class EnumBase(object):
|
|
514
|
-
def __init__(self, _n, _v):
|
|
515
|
-
self._name = _n
|
|
516
|
-
self._value = _v
|
|
517
|
-
|
|
518
|
-
def __str__(self):
|
|
519
|
-
return self._name
|
|
520
|
-
|
|
521
|
-
__repr__ = __str__
|
|
522
|
-
|
|
523
|
-
def __hash__(self):
|
|
524
|
-
return self._value
|
|
525
|
-
|
|
526
|
-
def __lt__(self, other):
|
|
527
|
-
if isinstance(other, self.__class__):
|
|
528
|
-
return self._value < other._value
|
|
529
|
-
elif other == None:
|
|
530
|
-
return False
|
|
531
|
-
return NotImplemented
|
|
532
|
-
|
|
533
|
-
def __le__(self, other):
|
|
534
|
-
if isinstance(other, self.__class__):
|
|
535
|
-
return self._value <= other._value
|
|
536
|
-
elif other is None:
|
|
537
|
-
return False
|
|
538
|
-
return NotImplemented
|
|
539
|
-
|
|
540
|
-
def __eq__(self, other):
|
|
541
|
-
if isinstance(other, self.__class__):
|
|
542
|
-
return self._value == other._value
|
|
543
|
-
elif other == None:
|
|
544
|
-
return False
|
|
545
|
-
return NotImplemented
|
|
546
|
-
|
|
547
|
-
def __ne__(self, other):
|
|
548
|
-
if isinstance(other, self.__class__):
|
|
549
|
-
return self._value != other._value
|
|
550
|
-
elif other == None:
|
|
551
|
-
return False
|
|
552
|
-
return NotImplemented
|
|
553
|
-
|
|
554
|
-
def __gt__(self, other):
|
|
555
|
-
if isinstance(other, self.__class__):
|
|
556
|
-
return self._value > other._value;
|
|
557
|
-
elif other == None:
|
|
558
|
-
return False
|
|
559
|
-
return NotImplemented
|
|
560
|
-
|
|
561
|
-
def __ge__(self, other):
|
|
562
|
-
if isinstance(other, self.__class__):
|
|
563
|
-
return self._value >= other._value
|
|
564
|
-
elif other == None:
|
|
565
|
-
return False
|
|
566
|
-
return NotImplemented
|
|
567
|
-
|
|
568
|
-
def _getName(self):
|
|
569
|
-
return self._name
|
|
570
|
-
|
|
571
|
-
def _getValue(self):
|
|
572
|
-
return self._value
|
|
573
|
-
|
|
574
|
-
name = property(_getName)
|
|
575
|
-
value = property(_getValue)
|
|
576
|
-
|
|
577
|
-
class SlicedData(object):
|
|
578
|
-
#
|
|
579
|
-
# Members:
|
|
580
|
-
#
|
|
581
|
-
# slices - tuple of SliceInfo
|
|
582
|
-
#
|
|
583
|
-
pass
|
|
584
|
-
|
|
585
|
-
class SliceInfo(object):
|
|
586
|
-
#
|
|
587
|
-
# Members:
|
|
588
|
-
#
|
|
589
|
-
# typeId - string
|
|
590
|
-
# compactId - int
|
|
591
|
-
# bytes - string/bytes
|
|
592
|
-
# instances - tuple of Ice.Value
|
|
593
|
-
# hasOptionalMembers - boolean
|
|
594
|
-
# isLastSlice - boolean
|
|
595
|
-
pass
|
|
596
|
-
|
|
597
|
-
#
|
|
598
|
-
# Native PropertiesAdmin admin facet.
|
|
599
|
-
#
|
|
600
|
-
NativePropertiesAdmin = IcePy.NativePropertiesAdmin
|
|
601
|
-
|
|
602
|
-
class PropertiesAdminUpdateCallback(object):
|
|
603
|
-
'''Callback class to get notifications of property updates passed
|
|
604
|
-
through the Properties admin facet'''
|
|
605
|
-
|
|
606
|
-
def updated(self, props):
|
|
607
|
-
pass
|
|
608
|
-
|
|
609
|
-
class UnknownSlicedValue(Value):
|
|
610
|
-
#
|
|
611
|
-
# Members:
|
|
612
|
-
#
|
|
613
|
-
# unknownTypeId - string
|
|
614
|
-
|
|
615
|
-
def ice_id(self):
|
|
616
|
-
return self.unknownTypeId
|
|
617
|
-
|
|
618
|
-
def getSliceDir():
|
|
619
|
-
'''Convenience function for locating the directory containing the Slice files.'''
|
|
620
|
-
|
|
621
|
-
#
|
|
622
|
-
# Get the parent of the directory containing this file (__init__.py).
|
|
623
|
-
#
|
|
624
|
-
pyHome = os.path.join(os.path.dirname(__file__), "..")
|
|
625
|
-
|
|
626
|
-
#
|
|
627
|
-
# Detect setup.py installation in site-packages. The slice
|
|
628
|
-
# files live one level above this file.
|
|
629
|
-
#
|
|
630
|
-
dir = os.path.join(pyHome, "slice")
|
|
631
|
-
if os.path.isdir(dir):
|
|
632
|
-
return dir
|
|
633
|
-
|
|
634
|
-
#
|
|
635
|
-
# For an installation from a source distribution, a binary tarball, or a
|
|
636
|
-
# Windows installer, the "slice" directory is a sibling of the "python"
|
|
637
|
-
# directory.
|
|
638
|
-
#
|
|
639
|
-
dir = os.path.join(pyHome, "..", "slice")
|
|
640
|
-
if os.path.exists(dir):
|
|
641
|
-
return os.path.normpath(dir)
|
|
642
|
-
|
|
643
|
-
#
|
|
644
|
-
# In a source distribution, the "slice" directory is an extra level higher.
|
|
645
|
-
# directory.
|
|
646
|
-
#
|
|
647
|
-
dir = os.path.join(pyHome, "..", "..", "slice")
|
|
648
|
-
if os.path.exists(dir):
|
|
649
|
-
return os.path.normpath(dir)
|
|
650
|
-
|
|
651
|
-
if sys.platform[:5] == "linux":
|
|
652
|
-
#
|
|
653
|
-
# Check the default Linux location.
|
|
654
|
-
#
|
|
655
|
-
dir = os.path.join("/", "usr", "share", "ice", "slice")
|
|
656
|
-
if os.path.exists(dir):
|
|
657
|
-
return dir
|
|
658
|
-
|
|
659
|
-
elif sys.platform == "darwin":
|
|
660
|
-
#
|
|
661
|
-
# Check the default macOS homebrew location.
|
|
662
|
-
#
|
|
663
|
-
dir = os.path.join("/", "usr", "local", "share", "ice", "slice")
|
|
664
|
-
if os.path.exists(dir):
|
|
665
|
-
return dir
|
|
666
|
-
|
|
667
|
-
return None
|
|
668
|
-
|
|
669
|
-
#
|
|
670
|
-
# Utilities for use by generated code.
|
|
671
|
-
#
|
|
672
|
-
|
|
673
|
-
_pendingModules = {}
|
|
674
|
-
|
|
675
|
-
def openModule(name):
|
|
676
|
-
global _pendingModules
|
|
677
|
-
if name in sys.modules:
|
|
678
|
-
result = sys.modules[name]
|
|
679
|
-
elif name in _pendingModules:
|
|
680
|
-
result = _pendingModules[name]
|
|
681
|
-
else:
|
|
682
|
-
result = createModule(name)
|
|
683
|
-
|
|
684
|
-
return result
|
|
685
|
-
|
|
686
|
-
def createModule(name):
|
|
687
|
-
global _pendingModules
|
|
688
|
-
l = name.split(".")
|
|
689
|
-
curr = ''
|
|
690
|
-
mod = None
|
|
691
|
-
|
|
692
|
-
for s in l:
|
|
693
|
-
curr = curr + s
|
|
694
|
-
|
|
695
|
-
if curr in sys.modules:
|
|
696
|
-
mod = sys.modules[curr]
|
|
697
|
-
elif curr in _pendingModules:
|
|
698
|
-
mod = _pendingModules[curr]
|
|
699
|
-
else:
|
|
700
|
-
nmod = types.ModuleType(curr)
|
|
701
|
-
_pendingModules[curr] = nmod
|
|
702
|
-
mod = nmod
|
|
703
|
-
|
|
704
|
-
curr = curr + "."
|
|
705
|
-
|
|
706
|
-
return mod
|
|
707
|
-
|
|
708
|
-
def updateModule(name):
|
|
709
|
-
global _pendingModules
|
|
710
|
-
if name in _pendingModules:
|
|
711
|
-
pendingModule = _pendingModules[name]
|
|
712
|
-
mod = sys.modules[name]
|
|
713
|
-
mod.__dict__.update(pendingModule.__dict__)
|
|
714
|
-
del _pendingModules[name]
|
|
715
|
-
|
|
716
|
-
def updateModules():
|
|
717
|
-
global _pendingModules
|
|
718
|
-
for name in _pendingModules.keys():
|
|
719
|
-
if name in sys.modules:
|
|
720
|
-
sys.modules[name].__dict__.update(_pendingModules[name].__dict__)
|
|
721
|
-
else:
|
|
722
|
-
sys.modules[name] = _pendingModules[name]
|
|
723
|
-
_pendingModules = {}
|
|
724
|
-
|
|
725
|
-
def createTempClass():
|
|
726
|
-
class __temp: pass
|
|
727
|
-
return __temp
|
|
728
|
-
|
|
729
|
-
class FormatType(object):
|
|
730
|
-
def __init__(self, val):
|
|
731
|
-
assert(val >= 0 and val < 3)
|
|
732
|
-
self.value = val
|
|
733
|
-
|
|
734
|
-
FormatType.DefaultFormat = FormatType(0)
|
|
735
|
-
FormatType.CompactFormat = FormatType(1)
|
|
736
|
-
FormatType.SlicedFormat = FormatType(2)
|
|
737
|
-
|
|
738
|
-
#
|
|
739
|
-
# Forward declarations.
|
|
740
|
-
#
|
|
741
|
-
IcePy._t_Object = IcePy.declareClass('::Ice::Object')
|
|
742
|
-
IcePy._t_Value = IcePy.declareValue('::Ice::Object')
|
|
743
|
-
IcePy._t_ObjectPrx = IcePy.declareProxy('::Ice::Object')
|
|
744
|
-
IcePy._t_LocalObject = IcePy.declareValue('::Ice::LocalObject')
|
|
745
|
-
|
|
746
|
-
#
|
|
747
|
-
# Slice checksum dictionary.
|
|
748
|
-
#
|
|
749
|
-
sliceChecksums = {}
|
|
750
|
-
|
|
751
|
-
#
|
|
752
|
-
# Import generated Ice modules.
|
|
753
|
-
#
|
|
754
|
-
import Ice.BuiltinSequences_ice
|
|
755
|
-
import Ice.Current_ice
|
|
756
|
-
import Ice.Communicator_ice
|
|
757
|
-
import Ice.ImplicitContext_ice
|
|
758
|
-
import Ice.Endpoint_ice
|
|
759
|
-
import Ice.EndpointTypes_ice
|
|
760
|
-
import Ice.Identity_ice
|
|
761
|
-
import Ice.LocalException_ice
|
|
762
|
-
import Ice.Locator_ice
|
|
763
|
-
import Ice.Logger_ice
|
|
764
|
-
import Ice.ObjectAdapter_ice
|
|
765
|
-
import Ice.ObjectFactory_ice
|
|
766
|
-
import Ice.ValueFactory_ice
|
|
767
|
-
import Ice.Process_ice
|
|
768
|
-
import Ice.Properties_ice
|
|
769
|
-
import Ice.RemoteLogger_ice
|
|
770
|
-
import Ice.Router_ice
|
|
771
|
-
import Ice.ServantLocator_ice
|
|
772
|
-
import Ice.Connection_ice
|
|
773
|
-
import Ice.Version_ice
|
|
774
|
-
import Ice.Instrumentation_ice
|
|
775
|
-
import Ice.Metrics_ice
|
|
776
|
-
|
|
777
|
-
#
|
|
778
|
-
# Replace EndpointInfo with our implementation.
|
|
779
|
-
#
|
|
780
|
-
del EndpointInfo
|
|
781
|
-
EndpointInfo = IcePy.EndpointInfo
|
|
782
|
-
del IPEndpointInfo
|
|
783
|
-
IPEndpointInfo = IcePy.IPEndpointInfo
|
|
784
|
-
del TCPEndpointInfo
|
|
785
|
-
TCPEndpointInfo = IcePy.TCPEndpointInfo
|
|
786
|
-
del UDPEndpointInfo
|
|
787
|
-
UDPEndpointInfo = IcePy.UDPEndpointInfo
|
|
788
|
-
del WSEndpointInfo
|
|
789
|
-
WSEndpointInfo = IcePy.WSEndpointInfo
|
|
790
|
-
del OpaqueEndpointInfo
|
|
791
|
-
OpaqueEndpointInfo = IcePy.OpaqueEndpointInfo
|
|
792
|
-
|
|
793
|
-
SSLEndpointInfo = IcePy.SSLEndpointInfo
|
|
794
|
-
|
|
795
|
-
#
|
|
796
|
-
# Replace ConnectionInfo with our implementation.
|
|
797
|
-
#
|
|
798
|
-
del ConnectionInfo
|
|
799
|
-
ConnectionInfo = IcePy.ConnectionInfo
|
|
800
|
-
del IPConnectionInfo
|
|
801
|
-
IPConnectionInfo = IcePy.IPConnectionInfo
|
|
802
|
-
del TCPConnectionInfo
|
|
803
|
-
TCPConnectionInfo = IcePy.TCPConnectionInfo
|
|
804
|
-
del UDPConnectionInfo
|
|
805
|
-
UDPConnectionInfo = IcePy.UDPConnectionInfo
|
|
806
|
-
del WSConnectionInfo
|
|
807
|
-
WSConnectionInfo = IcePy.WSConnectionInfo
|
|
808
|
-
|
|
809
|
-
SSLConnectionInfo = IcePy.SSLConnectionInfo
|
|
810
|
-
|
|
811
|
-
class ThreadNotification(object):
|
|
812
|
-
'''Base class for thread notification callbacks. A subclass must
|
|
813
|
-
define the start and stop methods.'''
|
|
814
|
-
|
|
815
|
-
def __init__(self):
|
|
816
|
-
pass
|
|
817
|
-
|
|
818
|
-
def start():
|
|
819
|
-
'''Invoked in the context of a thread created by the Ice run time.'''
|
|
820
|
-
pass
|
|
821
|
-
|
|
822
|
-
def stop():
|
|
823
|
-
'''Invoked in the context of an Ice run-time thread that is about
|
|
824
|
-
to terminate.'''
|
|
825
|
-
pass
|
|
826
|
-
|
|
827
|
-
class BatchRequestInterceptor(object):
|
|
828
|
-
'''Base class for batch request interceptor. A subclass must
|
|
829
|
-
define the enqueue method.'''
|
|
830
|
-
|
|
831
|
-
def __init__(self):
|
|
832
|
-
pass
|
|
833
|
-
|
|
834
|
-
def enqueue(self, request, queueCount, queueSize):
|
|
835
|
-
'''Invoked when a request is batched.'''
|
|
836
|
-
pass
|
|
837
|
-
|
|
838
|
-
#
|
|
839
|
-
# Initialization data.
|
|
840
|
-
#
|
|
841
|
-
class InitializationData(object):
|
|
842
|
-
'''The attributes of this class are used to initialize a new
|
|
843
|
-
communicator instance. The supported attributes are as follows:
|
|
844
|
-
|
|
845
|
-
properties: An instance of Ice.Properties. You can use the
|
|
846
|
-
Ice.createProperties function to create a new property set.
|
|
847
|
-
|
|
848
|
-
logger: An instance of Ice.Logger.
|
|
849
|
-
|
|
850
|
-
threadStart: A callable that is invoked for each new Ice thread that is started.
|
|
851
|
-
|
|
852
|
-
threadStop: A callable that is invoked when an Ice thread is stopped.
|
|
853
|
-
|
|
854
|
-
dispatcher: A callable that is invoked when Ice needs to dispatch an activity. The callable
|
|
855
|
-
receives two arguments: a callable and an Ice.Connection object. The dispatcher must
|
|
856
|
-
eventually invoke the callable with no arguments.
|
|
857
|
-
|
|
858
|
-
batchRequestInterceptor: A callable that will be invoked when a batch request is queued.
|
|
859
|
-
The callable receives three arguments: a BatchRequest object, an integer representing
|
|
860
|
-
the number of requests in the queue, and an integer representing the number of bytes
|
|
861
|
-
consumed by the requests in the queue. The interceptor must eventually invoke the
|
|
862
|
-
enqueue method on the BatchRequest object.
|
|
863
|
-
|
|
864
|
-
valueFactoryManager: An object that implements ValueFactoryManager.
|
|
865
|
-
'''
|
|
866
|
-
def __init__(self):
|
|
867
|
-
self.properties = None
|
|
868
|
-
self.logger = None
|
|
869
|
-
self.threadHook = None # Deprecated.
|
|
870
|
-
self.threadStart = None
|
|
871
|
-
self.threadStop = None
|
|
872
|
-
self.dispatcher = None
|
|
873
|
-
self.batchRequestInterceptor = None
|
|
874
|
-
self.valueFactoryManager = None
|
|
875
|
-
|
|
876
|
-
#
|
|
877
|
-
# Communicator wrapper.
|
|
878
|
-
#
|
|
879
|
-
class CommunicatorI(Communicator):
|
|
880
|
-
def __init__(self, impl):
|
|
881
|
-
self._impl = impl
|
|
882
|
-
impl._setWrapper(self)
|
|
883
|
-
|
|
884
|
-
def __enter__(self):
|
|
885
|
-
return self
|
|
886
|
-
|
|
887
|
-
def __exit__(self, type, value, traceback):
|
|
888
|
-
self._impl.destroy()
|
|
889
|
-
|
|
890
|
-
def getImpl(self):
|
|
891
|
-
return self._impl
|
|
892
|
-
|
|
893
|
-
def destroy(self):
|
|
894
|
-
self._impl.destroy()
|
|
895
|
-
|
|
896
|
-
def shutdown(self):
|
|
897
|
-
self._impl.shutdown()
|
|
898
|
-
|
|
899
|
-
def waitForShutdown(self):
|
|
900
|
-
#
|
|
901
|
-
# If invoked by the main thread, waitForShutdown only blocks for
|
|
902
|
-
# the specified timeout in order to give us a chance to handle
|
|
903
|
-
# signals.
|
|
904
|
-
#
|
|
905
|
-
while not self._impl.waitForShutdown(500):
|
|
906
|
-
pass
|
|
907
|
-
|
|
908
|
-
def isShutdown(self):
|
|
909
|
-
return self._impl.isShutdown()
|
|
910
|
-
|
|
911
|
-
def stringToProxy(self, str):
|
|
912
|
-
return self._impl.stringToProxy(str)
|
|
913
|
-
|
|
914
|
-
def proxyToString(self, obj):
|
|
915
|
-
return self._impl.proxyToString(obj)
|
|
916
|
-
|
|
917
|
-
def propertyToProxy(self, str):
|
|
918
|
-
return self._impl.propertyToProxy(str)
|
|
919
|
-
|
|
920
|
-
def proxyToProperty(self, obj, str):
|
|
921
|
-
return self._impl.proxyToProperty(obj, str)
|
|
922
|
-
|
|
923
|
-
def stringToIdentity(self, str):
|
|
924
|
-
return self._impl.stringToIdentity(str)
|
|
925
|
-
|
|
926
|
-
def identityToString(self, ident):
|
|
927
|
-
return self._impl.identityToString(ident)
|
|
928
|
-
|
|
929
|
-
def createObjectAdapter(self, name):
|
|
930
|
-
adapter = self._impl.createObjectAdapter(name)
|
|
931
|
-
return ObjectAdapterI(adapter)
|
|
932
|
-
|
|
933
|
-
def createObjectAdapterWithEndpoints(self, name, endpoints):
|
|
934
|
-
adapter = self._impl.createObjectAdapterWithEndpoints(name, endpoints)
|
|
935
|
-
return ObjectAdapterI(adapter)
|
|
936
|
-
|
|
937
|
-
def createObjectAdapterWithRouter(self, name, router):
|
|
938
|
-
adapter = self._impl.createObjectAdapterWithRouter(name, router)
|
|
939
|
-
return ObjectAdapterI(adapter)
|
|
940
|
-
|
|
941
|
-
def addObjectFactory(self, factory, id):
|
|
942
|
-
# The extension implementation requires an extra argument that is a value factory
|
|
943
|
-
self._impl.addObjectFactory(factory, id, lambda s, factory=factory: factory.create(s))
|
|
944
|
-
|
|
945
|
-
def findObjectFactory(self, id):
|
|
946
|
-
return self._impl.findObjectFactory(id)
|
|
947
|
-
|
|
948
|
-
def getValueFactoryManager(self):
|
|
949
|
-
return self._impl.getValueFactoryManager()
|
|
950
|
-
|
|
951
|
-
def getImplicitContext(self):
|
|
952
|
-
context = self._impl.getImplicitContext()
|
|
953
|
-
if context == None:
|
|
954
|
-
return None;
|
|
955
|
-
else:
|
|
956
|
-
return ImplicitContextI(context)
|
|
957
|
-
|
|
958
|
-
def getProperties(self):
|
|
959
|
-
properties = self._impl.getProperties()
|
|
960
|
-
return PropertiesI(properties)
|
|
961
|
-
|
|
962
|
-
def getLogger(self):
|
|
963
|
-
logger = self._impl.getLogger()
|
|
964
|
-
if isinstance(logger, Logger):
|
|
965
|
-
return logger
|
|
966
|
-
else:
|
|
967
|
-
return LoggerI(logger)
|
|
968
|
-
|
|
969
|
-
def getStats(self):
|
|
970
|
-
raise RuntimeError("operation `getStats' not implemented")
|
|
971
|
-
|
|
972
|
-
def getDefaultRouter(self):
|
|
973
|
-
return self._impl.getDefaultRouter()
|
|
974
|
-
|
|
975
|
-
def setDefaultRouter(self, rtr):
|
|
976
|
-
self._impl.setDefaultRouter(rtr)
|
|
977
|
-
|
|
978
|
-
def getDefaultLocator(self):
|
|
979
|
-
return self._impl.getDefaultLocator()
|
|
980
|
-
|
|
981
|
-
def setDefaultLocator(self, loc):
|
|
982
|
-
self._impl.setDefaultLocator(loc)
|
|
983
|
-
|
|
984
|
-
def getPluginManager(self):
|
|
985
|
-
raise RuntimeError("operation `getPluginManager' not implemented")
|
|
986
|
-
|
|
987
|
-
def flushBatchRequests(self, compress):
|
|
988
|
-
self._impl.flushBatchRequests(compress)
|
|
989
|
-
|
|
990
|
-
def flushBatchRequestsAsync(self, compress):
|
|
991
|
-
return self._impl.flushBatchRequestsAsync(compress)
|
|
992
|
-
|
|
993
|
-
def begin_flushBatchRequests(self, compress, _ex=None, _sent=None):
|
|
994
|
-
return self._impl.begin_flushBatchRequests(compress, _ex, _sent)
|
|
995
|
-
|
|
996
|
-
def end_flushBatchRequests(self, r):
|
|
997
|
-
return self._impl.end_flushBatchRequests(r)
|
|
998
|
-
|
|
999
|
-
def createAdmin(self, adminAdapter, adminIdentity):
|
|
1000
|
-
return self._impl.createAdmin(adminAdapter, adminIdentity)
|
|
1001
|
-
|
|
1002
|
-
def getAdmin(self):
|
|
1003
|
-
return self._impl.getAdmin()
|
|
1004
|
-
|
|
1005
|
-
def addAdminFacet(self, servant, facet):
|
|
1006
|
-
self._impl.addAdminFacet(servant, facet)
|
|
1007
|
-
|
|
1008
|
-
def findAdminFacet(self, facet):
|
|
1009
|
-
return self._impl.findAdminFacet(facet)
|
|
1010
|
-
|
|
1011
|
-
def findAllAdminFacets(self):
|
|
1012
|
-
return self._impl.findAllAdminFacets()
|
|
1013
|
-
|
|
1014
|
-
def removeAdminFacet(self, facet):
|
|
1015
|
-
return self._impl.removeAdminFacet(facet)
|
|
1016
|
-
|
|
1017
|
-
#
|
|
1018
|
-
# Ice.initialize()
|
|
1019
|
-
#
|
|
1020
|
-
def initialize(args=None, data=None):
|
|
1021
|
-
'''Initializes a new communicator. The optional arguments represent
|
|
1022
|
-
an argument list (such as sys.argv) and an instance of InitializationData.
|
|
1023
|
-
You can invoke this function as follows:
|
|
1024
|
-
|
|
1025
|
-
Ice.initialize()
|
|
1026
|
-
Ice.initialize(args)
|
|
1027
|
-
Ice.initialize(data)
|
|
1028
|
-
Ice.initialize(args, data)
|
|
1029
|
-
|
|
1030
|
-
If you supply an argument list, the function removes those arguments from
|
|
1031
|
-
the list that were recognized by the Ice run time.
|
|
1032
|
-
'''
|
|
1033
|
-
communicator = IcePy.Communicator(args, data)
|
|
1034
|
-
return CommunicatorI(communicator)
|
|
1035
|
-
|
|
1036
|
-
#
|
|
1037
|
-
# Ice.identityToString
|
|
1038
|
-
#
|
|
1039
|
-
def identityToString(id, toStringMode=None):
|
|
1040
|
-
return IcePy.identityToString(id, toStringMode)
|
|
1041
|
-
|
|
1042
|
-
#
|
|
1043
|
-
# Ice.stringToIdentity
|
|
1044
|
-
#
|
|
1045
|
-
def stringToIdentity(str):
|
|
1046
|
-
return IcePy.stringToIdentity(str)
|
|
1047
|
-
|
|
1048
|
-
#
|
|
1049
|
-
# ObjectAdapter wrapper.
|
|
1050
|
-
#
|
|
1051
|
-
class ObjectAdapterI(ObjectAdapter):
|
|
1052
|
-
def __init__(self, impl):
|
|
1053
|
-
self._impl = impl
|
|
1054
|
-
|
|
1055
|
-
def getName(self):
|
|
1056
|
-
return self._impl.getName()
|
|
1057
|
-
|
|
1058
|
-
def getCommunicator(self):
|
|
1059
|
-
communicator = self._impl.getCommunicator()
|
|
1060
|
-
return communicator._getWrapper()
|
|
1061
|
-
|
|
1062
|
-
def activate(self):
|
|
1063
|
-
self._impl.activate()
|
|
1064
|
-
|
|
1065
|
-
def hold(self):
|
|
1066
|
-
self._impl.hold()
|
|
1067
|
-
|
|
1068
|
-
def waitForHold(self):
|
|
1069
|
-
#
|
|
1070
|
-
# If invoked by the main thread, waitForHold only blocks for
|
|
1071
|
-
# the specified timeout in order to give us a chance to handle
|
|
1072
|
-
# signals.
|
|
1073
|
-
#
|
|
1074
|
-
while not self._impl.waitForHold(1000):
|
|
1075
|
-
pass
|
|
1076
|
-
|
|
1077
|
-
def deactivate(self):
|
|
1078
|
-
self._impl.deactivate()
|
|
1079
|
-
|
|
1080
|
-
def waitForDeactivate(self):
|
|
1081
|
-
#
|
|
1082
|
-
# If invoked by the main thread, waitForDeactivate only blocks for
|
|
1083
|
-
# the specified timeout in order to give us a chance to handle
|
|
1084
|
-
# signals.
|
|
1085
|
-
#
|
|
1086
|
-
while not self._impl.waitForDeactivate(1000):
|
|
1087
|
-
pass
|
|
1088
|
-
|
|
1089
|
-
def isDeactivated(self):
|
|
1090
|
-
self._impl.isDeactivated()
|
|
1091
|
-
|
|
1092
|
-
def destroy(self):
|
|
1093
|
-
self._impl.destroy()
|
|
1094
|
-
|
|
1095
|
-
def add(self, servant, id):
|
|
1096
|
-
return self._impl.add(servant, id)
|
|
1097
|
-
|
|
1098
|
-
def addFacet(self, servant, id, facet):
|
|
1099
|
-
return self._impl.addFacet(servant, id, facet)
|
|
1100
|
-
|
|
1101
|
-
def addWithUUID(self, servant):
|
|
1102
|
-
return self._impl.addWithUUID(servant)
|
|
1103
|
-
|
|
1104
|
-
def addFacetWithUUID(self, servant, facet):
|
|
1105
|
-
return self._impl.addFacetWIthUUID(servant, facet)
|
|
1106
|
-
|
|
1107
|
-
def addDefaultServant(self, servant, category):
|
|
1108
|
-
self._impl.addDefaultServant(servant, category)
|
|
1109
|
-
|
|
1110
|
-
def remove(self, id):
|
|
1111
|
-
return self._impl.remove(id)
|
|
1112
|
-
|
|
1113
|
-
def removeFacet(self, id, facet):
|
|
1114
|
-
return self._impl.removeFacet(id, facet)
|
|
1115
|
-
|
|
1116
|
-
def removeAllFacets(self, id):
|
|
1117
|
-
return self._impl.removeAllFacets(id)
|
|
1118
|
-
|
|
1119
|
-
def removeDefaultServant(self, category):
|
|
1120
|
-
return self._impl.removeDefaultServant(category)
|
|
1121
|
-
|
|
1122
|
-
def find(self, id):
|
|
1123
|
-
return self._impl.find(id)
|
|
1124
|
-
|
|
1125
|
-
def findFacet(self, id, facet):
|
|
1126
|
-
return self._impl.findFacet(id, facet)
|
|
1127
|
-
|
|
1128
|
-
def findAllFacets(self, id):
|
|
1129
|
-
return self._impl.findAllFacets(id)
|
|
1130
|
-
|
|
1131
|
-
def findByProxy(self, proxy):
|
|
1132
|
-
return self._impl.findByProxy(proxy)
|
|
1133
|
-
|
|
1134
|
-
def findDefaultServant(self, category):
|
|
1135
|
-
return self._impl.findDefaultServant(category)
|
|
1136
|
-
|
|
1137
|
-
def addServantLocator(self, locator, category):
|
|
1138
|
-
self._impl.addServantLocator(locator, category)
|
|
1139
|
-
|
|
1140
|
-
def removeServantLocator(self, category):
|
|
1141
|
-
return self._impl.removeServantLocator(category)
|
|
1142
|
-
|
|
1143
|
-
def findServantLocator(self, category):
|
|
1144
|
-
return self._impl.findServantLocator(category)
|
|
1145
|
-
|
|
1146
|
-
def createProxy(self, id):
|
|
1147
|
-
return self._impl.createProxy(id)
|
|
1148
|
-
|
|
1149
|
-
def createDirectProxy(self, id):
|
|
1150
|
-
return self._impl.createDirectProxy(id)
|
|
1151
|
-
|
|
1152
|
-
def createIndirectProxy(self, id):
|
|
1153
|
-
return self._impl.createIndirectProxy(id)
|
|
1154
|
-
|
|
1155
|
-
def createReverseProxy(self, id):
|
|
1156
|
-
return self._impl.createReverseProxy(id)
|
|
1157
|
-
|
|
1158
|
-
def setLocator(self, loc):
|
|
1159
|
-
self._impl.setLocator(loc)
|
|
1160
|
-
|
|
1161
|
-
def getLocator(self):
|
|
1162
|
-
return self._impl.getLocator()
|
|
1163
|
-
|
|
1164
|
-
def getEndpoints(self):
|
|
1165
|
-
return self._impl.getEndpoints()
|
|
1166
|
-
|
|
1167
|
-
def refreshPublishedEndpoints(self):
|
|
1168
|
-
self._impl.refreshPublishedEndpoints()
|
|
1169
|
-
|
|
1170
|
-
def getPublishedEndpoints(self):
|
|
1171
|
-
return self._impl.getPublishedEndpoints()
|
|
1172
|
-
|
|
1173
|
-
def setPublishedEndpoints(self, newEndpoints):
|
|
1174
|
-
self._impl.setPublishedEndpoints(newEndpoints)
|
|
1175
|
-
|
|
1176
|
-
#
|
|
1177
|
-
# Logger wrapper.
|
|
1178
|
-
#
|
|
1179
|
-
class LoggerI(Logger):
|
|
1180
|
-
def __init__(self, impl):
|
|
1181
|
-
self._impl = impl
|
|
1182
|
-
|
|
1183
|
-
def _print(self, message):
|
|
1184
|
-
return self._impl._print(message)
|
|
1185
|
-
|
|
1186
|
-
def trace(self, category, message):
|
|
1187
|
-
return self._impl.trace(category, message)
|
|
1188
|
-
|
|
1189
|
-
def warning(self, message):
|
|
1190
|
-
return self._impl.warning(message)
|
|
1191
|
-
|
|
1192
|
-
def error(self, message):
|
|
1193
|
-
return self._impl.error(message)
|
|
1194
|
-
|
|
1195
|
-
def getPrefix(self):
|
|
1196
|
-
return self._impl.getPrefix()
|
|
1197
|
-
|
|
1198
|
-
def cloneWithPrefix(self, prefix):
|
|
1199
|
-
logger = self._impl.cloneWithPrefix(prefix)
|
|
1200
|
-
return LoggerI(logger)
|
|
1201
|
-
|
|
1202
|
-
#
|
|
1203
|
-
# Properties wrapper.
|
|
1204
|
-
#
|
|
1205
|
-
class PropertiesI(Properties):
|
|
1206
|
-
def __init__(self, impl):
|
|
1207
|
-
self._impl = impl
|
|
1208
|
-
|
|
1209
|
-
def getProperty(self, key):
|
|
1210
|
-
return self._impl.getProperty(key)
|
|
1211
|
-
|
|
1212
|
-
def getPropertyWithDefault(self, key, value):
|
|
1213
|
-
return self._impl.getPropertyWithDefault(key, value)
|
|
1214
|
-
|
|
1215
|
-
def getPropertyAsInt(self, key):
|
|
1216
|
-
return self._impl.getPropertyAsInt(key)
|
|
1217
|
-
|
|
1218
|
-
def getPropertyAsIntWithDefault(self, key, value):
|
|
1219
|
-
return self._impl.getPropertyAsIntWithDefault(key, value)
|
|
1220
|
-
|
|
1221
|
-
def getPropertyAsList(self, key):
|
|
1222
|
-
return self._impl.getPropertyAsList(key)
|
|
1223
|
-
|
|
1224
|
-
def getPropertyAsListWithDefault(self, key, value):
|
|
1225
|
-
return self._impl.getPropertyAsListWithDefault(key, value)
|
|
1226
|
-
|
|
1227
|
-
def getPropertiesForPrefix(self, prefix):
|
|
1228
|
-
return self._impl.getPropertiesForPrefix(prefix)
|
|
1229
|
-
|
|
1230
|
-
def setProperty(self, key, value):
|
|
1231
|
-
self._impl.setProperty(key, value)
|
|
1232
|
-
|
|
1233
|
-
def getCommandLineOptions(self):
|
|
1234
|
-
return self._impl.getCommandLineOptions()
|
|
1235
|
-
|
|
1236
|
-
def parseCommandLineOptions(self, prefix, options):
|
|
1237
|
-
return self._impl.parseCommandLineOptions(prefix, options)
|
|
1238
|
-
|
|
1239
|
-
def parseIceCommandLineOptions(self, options):
|
|
1240
|
-
return self._impl.parseIceCommandLineOptions(options)
|
|
1241
|
-
|
|
1242
|
-
def load(self, file):
|
|
1243
|
-
self._impl.load(file)
|
|
1244
|
-
|
|
1245
|
-
def clone(self):
|
|
1246
|
-
properties = self._impl.clone()
|
|
1247
|
-
return PropertiesI(properties)
|
|
1248
|
-
|
|
1249
|
-
def __iter__(self):
|
|
1250
|
-
dict = self._impl.getPropertiesForPrefix('')
|
|
1251
|
-
return iter(dict)
|
|
1252
|
-
|
|
1253
|
-
def __str__(self):
|
|
1254
|
-
return str(self._impl)
|
|
1255
|
-
|
|
1256
|
-
#
|
|
1257
|
-
# Ice.createProperties()
|
|
1258
|
-
#
|
|
1259
|
-
def createProperties(args=None, defaults=None):
|
|
1260
|
-
'''Creates a new property set. The optional arguments represent
|
|
1261
|
-
an argument list (such as sys.argv) and a property set that supplies
|
|
1262
|
-
default values. You can invoke this function as follows:
|
|
1263
|
-
|
|
1264
|
-
Ice.createProperties()
|
|
1265
|
-
Ice.createProperties(args)
|
|
1266
|
-
Ice.createProperties(defaults)
|
|
1267
|
-
Ice.createProperties(args, defaults)
|
|
1268
|
-
|
|
1269
|
-
If you supply an argument list, the function removes those arguments
|
|
1270
|
-
from the list that were recognized by the Ice run time.
|
|
1271
|
-
'''
|
|
1272
|
-
|
|
1273
|
-
properties = IcePy.createProperties(args, defaults)
|
|
1274
|
-
return PropertiesI(properties)
|
|
1275
|
-
|
|
1276
|
-
#
|
|
1277
|
-
# Ice.getProcessLogger()
|
|
1278
|
-
# Ice.setProcessLogger()
|
|
1279
|
-
#
|
|
1280
|
-
def getProcessLogger():
|
|
1281
|
-
'''Returns the default logger object.'''
|
|
1282
|
-
logger = IcePy.getProcessLogger()
|
|
1283
|
-
if isinstance(logger, Logger):
|
|
1284
|
-
return logger
|
|
1285
|
-
else:
|
|
1286
|
-
return LoggerI(logger)
|
|
1287
|
-
|
|
1288
|
-
def setProcessLogger(logger):
|
|
1289
|
-
'''Sets the default logger object.'''
|
|
1290
|
-
IcePy.setProcessLogger(logger)
|
|
1291
|
-
|
|
1292
|
-
#
|
|
1293
|
-
# ImplicitContext wrapper
|
|
1294
|
-
#
|
|
1295
|
-
class ImplicitContextI(ImplicitContext):
|
|
1296
|
-
def __init__(self, impl):
|
|
1297
|
-
self._impl = impl
|
|
1298
|
-
|
|
1299
|
-
def setContext(self, ctx):
|
|
1300
|
-
self._impl.setContext(ctx)
|
|
1301
|
-
|
|
1302
|
-
def getContext(self):
|
|
1303
|
-
return self._impl.getContext()
|
|
1304
|
-
|
|
1305
|
-
def containsKey(self, key):
|
|
1306
|
-
return self._impl.containsKey(key)
|
|
1307
|
-
|
|
1308
|
-
def get(self, key):
|
|
1309
|
-
return self._impl.get(key)
|
|
1310
|
-
|
|
1311
|
-
def put(self, key, value):
|
|
1312
|
-
return self._impl.put(key, value)
|
|
1313
|
-
|
|
1314
|
-
def remove(self, key):
|
|
1315
|
-
return self._impl.remove(key)
|
|
1316
|
-
|
|
1317
|
-
#
|
|
1318
|
-
# Its not possible to block in a python signal handler since this
|
|
1319
|
-
# blocks the main thread from doing further work. As such we queue the
|
|
1320
|
-
# signal with a worker thread which then "dispatches" the signal to
|
|
1321
|
-
# the registered callback object.
|
|
1322
|
-
#
|
|
1323
|
-
# Note the interface is the same as the C++ CtrlCHandler
|
|
1324
|
-
# implementation, however, the implementation is different.
|
|
1325
|
-
#
|
|
1326
|
-
class CtrlCHandler(threading.Thread):
|
|
1327
|
-
# Class variable referring to the one and only handler for use
|
|
1328
|
-
# from the signal handling callback.
|
|
1329
|
-
_self = None
|
|
1330
|
-
|
|
1331
|
-
def __init__(self):
|
|
1332
|
-
threading.Thread.__init__(self)
|
|
1333
|
-
|
|
1334
|
-
if CtrlCHandler._self != None:
|
|
1335
|
-
raise RuntimeError("Only a single instance of a CtrlCHandler can be instantiated.")
|
|
1336
|
-
CtrlCHandler._self = self
|
|
1337
|
-
|
|
1338
|
-
# State variables. These are not class static variables.
|
|
1339
|
-
self._condVar = threading.Condition()
|
|
1340
|
-
self._queue = []
|
|
1341
|
-
self._done = False
|
|
1342
|
-
self._callback = None
|
|
1343
|
-
|
|
1344
|
-
#
|
|
1345
|
-
# Setup and install signal handlers
|
|
1346
|
-
#
|
|
1347
|
-
if 'SIGHUP' in signal.__dict__:
|
|
1348
|
-
signal.signal(signal.SIGHUP, CtrlCHandler.signalHandler)
|
|
1349
|
-
if 'SIGBREAK' in signal.__dict__:
|
|
1350
|
-
signal.signal(signal.SIGBREAK, CtrlCHandler.signalHandler)
|
|
1351
|
-
signal.signal(signal.SIGINT, CtrlCHandler.signalHandler)
|
|
1352
|
-
signal.signal(signal.SIGTERM, CtrlCHandler.signalHandler)
|
|
1353
|
-
|
|
1354
|
-
# Start the thread once everything else is done.
|
|
1355
|
-
self.start()
|
|
1356
|
-
|
|
1357
|
-
# Dequeue and dispatch signals.
|
|
1358
|
-
def run(self):
|
|
1359
|
-
while True:
|
|
1360
|
-
self._condVar.acquire()
|
|
1361
|
-
while len(self._queue) == 0 and not self._done:
|
|
1362
|
-
self._condVar.wait()
|
|
1363
|
-
if self._done:
|
|
1364
|
-
self._condVar.release()
|
|
1365
|
-
break
|
|
1366
|
-
sig, callback = self._queue.pop()
|
|
1367
|
-
self._condVar.release()
|
|
1368
|
-
if callback:
|
|
1369
|
-
callback(sig)
|
|
1370
|
-
|
|
1371
|
-
# Destroy the object. Wait for the thread to terminate and cleanup
|
|
1372
|
-
# the internal state.
|
|
1373
|
-
def destroy(self):
|
|
1374
|
-
self._condVar.acquire()
|
|
1375
|
-
self._done = True
|
|
1376
|
-
self._condVar.notify()
|
|
1377
|
-
self._condVar.release()
|
|
1378
|
-
|
|
1379
|
-
# Wait for the thread to terminate
|
|
1380
|
-
self.join()
|
|
1381
|
-
#
|
|
1382
|
-
# Cleanup any state set by the CtrlCHandler.
|
|
1383
|
-
#
|
|
1384
|
-
if 'SIGHUP' in signal.__dict__:
|
|
1385
|
-
signal.signal(signal.SIGHUP, signal.SIG_DFL)
|
|
1386
|
-
if 'SIGBREAK' in signal.__dict__:
|
|
1387
|
-
signal.signal(signal.SIGBREAK, signal.SIG_DFL)
|
|
1388
|
-
signal.signal(signal.SIGINT, signal.SIG_DFL)
|
|
1389
|
-
signal.signal(signal.SIGTERM, signal.SIG_DFL)
|
|
1390
|
-
CtrlCHandler._self = None
|
|
1391
|
-
|
|
1392
|
-
def setCallback(self, callback):
|
|
1393
|
-
self._condVar.acquire()
|
|
1394
|
-
self._callback = callback
|
|
1395
|
-
self._condVar.release()
|
|
1396
|
-
|
|
1397
|
-
def getCallback(self):
|
|
1398
|
-
self._condVar.acquire()
|
|
1399
|
-
callback = self._callback
|
|
1400
|
-
self._condVar.release()
|
|
1401
|
-
return callback
|
|
1402
|
-
|
|
1403
|
-
# Private. Only called by the signal handling mechanism.
|
|
1404
|
-
def signalHandler(self, sig, frame):
|
|
1405
|
-
self._self._condVar.acquire()
|
|
1406
|
-
#
|
|
1407
|
-
# The signal AND the current callback are queued together.
|
|
1408
|
-
#
|
|
1409
|
-
self._self._queue.append([sig, self._self._callback])
|
|
1410
|
-
self._self._condVar.notify()
|
|
1411
|
-
self._self._condVar.release()
|
|
1412
|
-
signalHandler = classmethod(signalHandler)
|
|
1413
|
-
|
|
1414
|
-
#
|
|
1415
|
-
# Application logger.
|
|
1416
|
-
#
|
|
1417
|
-
class _ApplicationLoggerI(Logger):
|
|
1418
|
-
def __init__(self, prefix):
|
|
1419
|
-
if len(prefix) > 0:
|
|
1420
|
-
self._prefix = prefix + ": "
|
|
1421
|
-
else:
|
|
1422
|
-
self._prefix = ""
|
|
1423
|
-
self._outputMutex = threading.Lock()
|
|
1424
|
-
|
|
1425
|
-
def _print(self, message):
|
|
1426
|
-
s = "[ " + str(datetime.datetime.now()) + " " + self._prefix
|
|
1427
|
-
self._outputMutex.acquire()
|
|
1428
|
-
sys.stderr.write(message + "\n")
|
|
1429
|
-
self._outputMutex.release()
|
|
1430
|
-
|
|
1431
|
-
def trace(self, category, message):
|
|
1432
|
-
s = "[ " + str(datetime.datetime.now()) + " " + self._prefix
|
|
1433
|
-
if len(category) > 0:
|
|
1434
|
-
s += category + ": "
|
|
1435
|
-
s += message + " ]"
|
|
1436
|
-
|
|
1437
|
-
s = s.replace("\n", "\n ")
|
|
1438
|
-
|
|
1439
|
-
self._outputMutex.acquire()
|
|
1440
|
-
sys.stderr.write(s + "\n")
|
|
1441
|
-
self._outputMutex.release()
|
|
1442
|
-
|
|
1443
|
-
def warning(self, message):
|
|
1444
|
-
self._outputMutex.acquire()
|
|
1445
|
-
sys.stderr.write(str(datetime.datetime.now()) + " " + self._prefix + "warning: " + message + "\n")
|
|
1446
|
-
self._outputMutex.release()
|
|
1447
|
-
|
|
1448
|
-
def error(self, message):
|
|
1449
|
-
self._outputMutex.acquire()
|
|
1450
|
-
sys.stderr.write(str(datetime.datetime.now()) + " " + self._prefix + "error: " + message + "\n")
|
|
1451
|
-
self._outputMutex.release()
|
|
1452
|
-
|
|
1453
|
-
#
|
|
1454
|
-
# Application class.
|
|
1455
|
-
#
|
|
1456
|
-
import signal
|
|
1457
|
-
class Application(object):
|
|
1458
|
-
'''Convenience class that initializes a communicator and reacts
|
|
1459
|
-
gracefully to signals. An application must define a subclass
|
|
1460
|
-
of this class and supply an implementation of the run method.
|
|
1461
|
-
'''
|
|
1462
|
-
|
|
1463
|
-
def __init__(self, signalPolicy=0): # HandleSignals=0
|
|
1464
|
-
'''The constructor accepts an optional argument indicating
|
|
1465
|
-
whether to handle signals. The value should be either
|
|
1466
|
-
Application.HandleSignals (the default) or
|
|
1467
|
-
Application.NoSignalHandling.
|
|
1468
|
-
'''
|
|
1469
|
-
if type(self) == Application:
|
|
1470
|
-
raise RuntimeError("Ice.Application is an abstract class")
|
|
1471
|
-
Application._signalPolicy = signalPolicy
|
|
1472
|
-
|
|
1473
|
-
def main(self, args, configFile=None, initData=None):
|
|
1474
|
-
'''The main entry point for the Application class. The arguments
|
|
1475
|
-
are an argument list (such as sys.argv), the name of an Ice
|
|
1476
|
-
configuration file (optional), and an instance of
|
|
1477
|
-
InitializationData (optional). This method does not return
|
|
1478
|
-
until after the completion of the run method. The return
|
|
1479
|
-
value is an integer representing the exit status.
|
|
1480
|
-
'''
|
|
1481
|
-
|
|
1482
|
-
if Application._communicator:
|
|
1483
|
-
getProcessLogger().error(args[0] + ": only one instance of the Application class can be used")
|
|
1484
|
-
return 1
|
|
1485
|
-
|
|
1486
|
-
#
|
|
1487
|
-
# We parse the properties here to extract Ice.ProgramName.
|
|
1488
|
-
#
|
|
1489
|
-
if not initData:
|
|
1490
|
-
initData = InitializationData()
|
|
1491
|
-
if configFile:
|
|
1492
|
-
try:
|
|
1493
|
-
initData.properties = createProperties(None, initData.properties)
|
|
1494
|
-
initData.properties.load(configFile)
|
|
1495
|
-
except:
|
|
1496
|
-
getProcessLogger().error(traceback.format_exc())
|
|
1497
|
-
return 1
|
|
1498
|
-
initData.properties = createProperties(args, initData.properties)
|
|
1499
|
-
|
|
1500
|
-
#
|
|
1501
|
-
# If the process logger is the default logger, we replace it with a
|
|
1502
|
-
# a logger which is using the program name for the prefix.
|
|
1503
|
-
#
|
|
1504
|
-
if isinstance(getProcessLogger(), LoggerI):
|
|
1505
|
-
setProcessLogger(_ApplicationLoggerI(initData.properties.getProperty("Ice.ProgramName")))
|
|
1506
|
-
|
|
1507
|
-
#
|
|
1508
|
-
# Install our handler for the signals we are interested in. We assume main()
|
|
1509
|
-
# is called from the main thread.
|
|
1510
|
-
#
|
|
1511
|
-
if Application._signalPolicy == Application.HandleSignals:
|
|
1512
|
-
Application._ctrlCHandler = CtrlCHandler()
|
|
1513
|
-
|
|
1514
|
-
try:
|
|
1515
|
-
Application._interrupted = False
|
|
1516
|
-
Application._appName = initData.properties.getPropertyWithDefault("Ice.ProgramName", args[0])
|
|
1517
|
-
Application._application = self
|
|
1518
|
-
|
|
1519
|
-
#
|
|
1520
|
-
# Used by _destroyOnInterruptCallback and _shutdownOnInterruptCallback.
|
|
1521
|
-
#
|
|
1522
|
-
Application._nohup = initData.properties.getPropertyAsInt("Ice.Nohup") > 0
|
|
1523
|
-
|
|
1524
|
-
#
|
|
1525
|
-
# The default is to destroy when a signal is received.
|
|
1526
|
-
#
|
|
1527
|
-
if Application._signalPolicy == Application.HandleSignals:
|
|
1528
|
-
Application.destroyOnInterrupt()
|
|
1529
|
-
|
|
1530
|
-
status = self.doMain(args, initData)
|
|
1531
|
-
except:
|
|
1532
|
-
getProcessLogger().error(traceback.format_exc())
|
|
1533
|
-
status = 1
|
|
1534
|
-
#
|
|
1535
|
-
# Set _ctrlCHandler to 0 only once communicator.destroy() has
|
|
1536
|
-
# completed.
|
|
1537
|
-
#
|
|
1538
|
-
if Application._signalPolicy == Application.HandleSignals:
|
|
1539
|
-
Application._ctrlCHandler.destroy()
|
|
1540
|
-
Application._ctrlCHandler = None
|
|
1541
|
-
|
|
1542
|
-
return status
|
|
1543
|
-
|
|
1544
|
-
def doMain(self, args, initData):
|
|
1545
|
-
try:
|
|
1546
|
-
Application._communicator = initialize(args, initData)
|
|
1547
|
-
Application._destroyed = False
|
|
1548
|
-
status = self.run(args)
|
|
1549
|
-
|
|
1550
|
-
except:
|
|
1551
|
-
getProcessLogger().error(traceback.format_exc())
|
|
1552
|
-
status = 1
|
|
1553
|
-
|
|
1554
|
-
#
|
|
1555
|
-
# Don't want any new interrupt and at this point (post-run),
|
|
1556
|
-
# it would not make sense to release a held signal to run
|
|
1557
|
-
# shutdown or destroy.
|
|
1558
|
-
#
|
|
1559
|
-
if Application._signalPolicy == Application.HandleSignals:
|
|
1560
|
-
Application.ignoreInterrupt()
|
|
1561
|
-
|
|
1562
|
-
Application._condVar.acquire()
|
|
1563
|
-
while Application._callbackInProgress:
|
|
1564
|
-
Application._condVar.wait()
|
|
1565
|
-
if Application._destroyed:
|
|
1566
|
-
Application._communicator = None
|
|
1567
|
-
else:
|
|
1568
|
-
Application._destroyed = True
|
|
1569
|
-
#
|
|
1570
|
-
# And _communicator != 0, meaning will be destroyed
|
|
1571
|
-
# next, _destroyed = true also ensures that any
|
|
1572
|
-
# remaining callback won't do anything
|
|
1573
|
-
#
|
|
1574
|
-
Application._application = None
|
|
1575
|
-
Application._condVar.release()
|
|
1576
|
-
|
|
1577
|
-
if Application._communicator:
|
|
1578
|
-
try:
|
|
1579
|
-
Application._communicator.destroy()
|
|
1580
|
-
except:
|
|
1581
|
-
getProcessLogger().error(traceback.format_exc())
|
|
1582
|
-
status = 1
|
|
1583
|
-
Application._communicator = None
|
|
1584
|
-
return status
|
|
1585
|
-
|
|
1586
|
-
def run(self, args):
|
|
1587
|
-
'''This method must be overridden in a subclass. The base
|
|
1588
|
-
class supplies an argument list from which all Ice arguments
|
|
1589
|
-
have already been removed. The method returns an integer
|
|
1590
|
-
exit status (0 is success, non-zero is failure).
|
|
1591
|
-
'''
|
|
1592
|
-
raise RuntimeError('run() not implemented')
|
|
1593
|
-
|
|
1594
|
-
def interruptCallback(self, sig):
|
|
1595
|
-
'''Subclass hook to intercept an interrupt.'''
|
|
1596
|
-
pass
|
|
1597
|
-
|
|
1598
|
-
def appName(self):
|
|
1599
|
-
'''Returns the application name (the first element of
|
|
1600
|
-
the argument list).'''
|
|
1601
|
-
return self._appName
|
|
1602
|
-
appName = classmethod(appName)
|
|
1603
|
-
|
|
1604
|
-
def communicator(self):
|
|
1605
|
-
'''Returns the communicator that was initialized for
|
|
1606
|
-
the application.'''
|
|
1607
|
-
return self._communicator
|
|
1608
|
-
communicator = classmethod(communicator)
|
|
1609
|
-
|
|
1610
|
-
def destroyOnInterrupt(self):
|
|
1611
|
-
'''Configures the application to destroy its communicator
|
|
1612
|
-
when interrupted by a signal.'''
|
|
1613
|
-
if Application._signalPolicy == Application.HandleSignals:
|
|
1614
|
-
self._condVar.acquire()
|
|
1615
|
-
if self._ctrlCHandler.getCallback() == self._holdInterruptCallback:
|
|
1616
|
-
self._released = True
|
|
1617
|
-
self._condVar.notify()
|
|
1618
|
-
self._ctrlCHandler.setCallback(self._destroyOnInterruptCallback)
|
|
1619
|
-
self._condVar.release()
|
|
1620
|
-
else:
|
|
1621
|
-
getProcessLogger().error(Application._appName + \
|
|
1622
|
-
": warning: interrupt method called on Application configured to not handle interrupts.")
|
|
1623
|
-
destroyOnInterrupt = classmethod(destroyOnInterrupt)
|
|
1624
|
-
|
|
1625
|
-
def shutdownOnInterrupt(self):
|
|
1626
|
-
'''Configures the application to shutdown its communicator
|
|
1627
|
-
when interrupted by a signal.'''
|
|
1628
|
-
if Application._signalPolicy == Application.HandleSignals:
|
|
1629
|
-
self._condVar.acquire()
|
|
1630
|
-
if self._ctrlCHandler.getCallback() == self._holdInterruptCallback:
|
|
1631
|
-
self._released = True
|
|
1632
|
-
self._condVar.notify()
|
|
1633
|
-
self._ctrlCHandler.setCallback(self._shutdownOnInterruptCallback)
|
|
1634
|
-
self._condVar.release()
|
|
1635
|
-
else:
|
|
1636
|
-
getProcessLogger().error(Application._appName + \
|
|
1637
|
-
": warning: interrupt method called on Application configured to not handle interrupts.")
|
|
1638
|
-
shutdownOnInterrupt = classmethod(shutdownOnInterrupt)
|
|
1639
|
-
|
|
1640
|
-
def ignoreInterrupt(self):
|
|
1641
|
-
'''Configures the application to ignore signals.'''
|
|
1642
|
-
if Application._signalPolicy == Application.HandleSignals:
|
|
1643
|
-
self._condVar.acquire()
|
|
1644
|
-
if self._ctrlCHandler.getCallback() == self._holdInterruptCallback:
|
|
1645
|
-
self._released = True
|
|
1646
|
-
self._condVar.notify()
|
|
1647
|
-
self._ctrlCHandler.setCallback(None)
|
|
1648
|
-
self._condVar.release()
|
|
1649
|
-
else:
|
|
1650
|
-
getProcessLogger().error(Application._appName + \
|
|
1651
|
-
": warning: interrupt method called on Application configured to not handle interrupts.")
|
|
1652
|
-
ignoreInterrupt = classmethod(ignoreInterrupt)
|
|
1653
|
-
|
|
1654
|
-
def callbackOnInterrupt(self):
|
|
1655
|
-
'''Configures the application to invoke interruptCallback
|
|
1656
|
-
when interrupted by a signal.'''
|
|
1657
|
-
if Application._signalPolicy == Application.HandleSignals:
|
|
1658
|
-
self._condVar.acquire()
|
|
1659
|
-
if self._ctrlCHandler.getCallback() == self._holdInterruptCallback:
|
|
1660
|
-
self._released = True
|
|
1661
|
-
self._condVar.notify()
|
|
1662
|
-
self._ctrlCHandler.setCallback(self._callbackOnInterruptCallback)
|
|
1663
|
-
self._condVar.release()
|
|
1664
|
-
else:
|
|
1665
|
-
getProcessLogger().error(Application._appName + \
|
|
1666
|
-
": warning: interrupt method called on Application configured to not handle interrupts.")
|
|
1667
|
-
callbackOnInterrupt = classmethod(callbackOnInterrupt)
|
|
1668
|
-
|
|
1669
|
-
def holdInterrupt(self):
|
|
1670
|
-
'''Configures the application to queue an interrupt for
|
|
1671
|
-
later processing.'''
|
|
1672
|
-
if Application._signalPolicy == Application.HandleSignals:
|
|
1673
|
-
self._condVar.acquire()
|
|
1674
|
-
if self._ctrlCHandler.getCallback() != self._holdInterruptCallback:
|
|
1675
|
-
self._previousCallback = self._ctrlCHandler.getCallback()
|
|
1676
|
-
self._released = False
|
|
1677
|
-
self._ctrlCHandler.setCallback(self._holdInterruptCallback)
|
|
1678
|
-
# else, we were already holding signals
|
|
1679
|
-
self._condVar.release()
|
|
1680
|
-
else:
|
|
1681
|
-
getProcessLogger().error(Application._appName + \
|
|
1682
|
-
": warning: interrupt method called on Application configured to not handle interrupts.")
|
|
1683
|
-
holdInterrupt = classmethod(holdInterrupt)
|
|
1684
|
-
|
|
1685
|
-
def releaseInterrupt(self):
|
|
1686
|
-
'''Instructs the application to process any queued interrupt.'''
|
|
1687
|
-
if Application._signalPolicy == Application.HandleSignals:
|
|
1688
|
-
self._condVar.acquire()
|
|
1689
|
-
if self._ctrlCHandler.getCallback() == self._holdInterruptCallback:
|
|
1690
|
-
#
|
|
1691
|
-
# Note that it's very possible no signal is held;
|
|
1692
|
-
# in this case the callback is just replaced and
|
|
1693
|
-
# setting _released to true and signalling _condVar
|
|
1694
|
-
# do no harm.
|
|
1695
|
-
#
|
|
1696
|
-
self._released = True
|
|
1697
|
-
self._ctrlCHandler.setCallback(self._previousCallback)
|
|
1698
|
-
self._condVar.notify()
|
|
1699
|
-
# Else nothing to release.
|
|
1700
|
-
self._condVar.release()
|
|
1701
|
-
else:
|
|
1702
|
-
getProcessLogger().error(Application._appName + \
|
|
1703
|
-
": warning: interrupt method called on Application configured to not handle interrupts.")
|
|
1704
|
-
releaseInterrupt = classmethod(releaseInterrupt)
|
|
1705
|
-
|
|
1706
|
-
def interrupted(self):
|
|
1707
|
-
'''Returns True if the application was interrupted by a
|
|
1708
|
-
signal, or False otherwise.'''
|
|
1709
|
-
self._condVar.acquire()
|
|
1710
|
-
result = self._interrupted
|
|
1711
|
-
self._condVar.release()
|
|
1712
|
-
return result
|
|
1713
|
-
interrupted = classmethod(interrupted)
|
|
1714
|
-
|
|
1715
|
-
def _holdInterruptCallback(self, sig):
|
|
1716
|
-
self._condVar.acquire()
|
|
1717
|
-
while not self._released:
|
|
1718
|
-
self._condVar.wait()
|
|
1719
|
-
if self._destroyed:
|
|
1720
|
-
#
|
|
1721
|
-
# Being destroyed by main thread
|
|
1722
|
-
#
|
|
1723
|
-
self._condVar.release()
|
|
1724
|
-
return
|
|
1725
|
-
callback = self._ctrlCHandler.getCallback()
|
|
1726
|
-
self._condVar.release()
|
|
1727
|
-
if callback:
|
|
1728
|
-
callback(sig)
|
|
1729
|
-
_holdInterruptCallback = classmethod(_holdInterruptCallback)
|
|
1730
|
-
|
|
1731
|
-
def _destroyOnInterruptCallback(self, sig):
|
|
1732
|
-
self._condVar.acquire()
|
|
1733
|
-
if self._destroyed or self._nohup and sig == signal.SIGHUP:
|
|
1734
|
-
#
|
|
1735
|
-
# Being destroyed by main thread, or nohup.
|
|
1736
|
-
#
|
|
1737
|
-
self._condVar.release()
|
|
1738
|
-
return
|
|
1739
|
-
|
|
1740
|
-
self._callbackInProcess = True
|
|
1741
|
-
self._interrupted = True
|
|
1742
|
-
self._destroyed = True
|
|
1743
|
-
self._condVar.release()
|
|
1744
|
-
|
|
1745
|
-
try:
|
|
1746
|
-
self._communicator.destroy()
|
|
1747
|
-
except:
|
|
1748
|
-
getProcessLogger().error(self._appName + " (while destroying in response to signal " + str(sig) + "):" + \
|
|
1749
|
-
traceback.format_exc())
|
|
1750
|
-
|
|
1751
|
-
self._condVar.acquire()
|
|
1752
|
-
self._callbackInProcess = False
|
|
1753
|
-
self._condVar.notify()
|
|
1754
|
-
self._condVar.release()
|
|
1755
|
-
_destroyOnInterruptCallback = classmethod(_destroyOnInterruptCallback)
|
|
1756
|
-
|
|
1757
|
-
def _shutdownOnInterruptCallback(self, sig):
|
|
1758
|
-
self._condVar.acquire()
|
|
1759
|
-
if self._destroyed or self._nohup and sig == signal.SIGHUP:
|
|
1760
|
-
#
|
|
1761
|
-
# Being destroyed by main thread, or nohup.
|
|
1762
|
-
#
|
|
1763
|
-
self._condVar.release()
|
|
1764
|
-
return
|
|
1765
|
-
|
|
1766
|
-
self._callbackInProcess = True
|
|
1767
|
-
self._interrupted = True
|
|
1768
|
-
self._condVar.release()
|
|
1769
|
-
|
|
1770
|
-
try:
|
|
1771
|
-
self._communicator.shutdown()
|
|
1772
|
-
except:
|
|
1773
|
-
getProcessLogger().error(self._appName + " (while shutting down in response to signal " + str(sig) + \
|
|
1774
|
-
"):" + traceback.format_exc())
|
|
1775
|
-
|
|
1776
|
-
self._condVar.acquire()
|
|
1777
|
-
self._callbackInProcess = False
|
|
1778
|
-
self._condVar.notify()
|
|
1779
|
-
self._condVar.release()
|
|
1780
|
-
_shutdownOnInterruptCallback = classmethod(_shutdownOnInterruptCallback)
|
|
1781
|
-
|
|
1782
|
-
def _callbackOnInterruptCallback(self, sig):
|
|
1783
|
-
self._condVar.acquire()
|
|
1784
|
-
if self._destroyed:
|
|
1785
|
-
#
|
|
1786
|
-
# Being destroyed by main thread.
|
|
1787
|
-
#
|
|
1788
|
-
self._condVar.release()
|
|
1789
|
-
return
|
|
1790
|
-
# For SIGHUP the user callback is always called. It can decide
|
|
1791
|
-
# what to do.
|
|
1792
|
-
|
|
1793
|
-
self._callbackInProcess = True
|
|
1794
|
-
self._interrupted = True
|
|
1795
|
-
self._condVar.release()
|
|
1796
|
-
|
|
1797
|
-
try:
|
|
1798
|
-
self._application.interruptCallback(sig)
|
|
1799
|
-
except:
|
|
1800
|
-
getProcessLogger().error(self._appName + " (while interrupting in response to signal " + str(sig) + \
|
|
1801
|
-
"):" + traceback.format_exc())
|
|
1802
|
-
|
|
1803
|
-
self._condVar.acquire()
|
|
1804
|
-
self._callbackInProcess = False
|
|
1805
|
-
self._condVar.notify()
|
|
1806
|
-
self._condVar.release()
|
|
1807
|
-
|
|
1808
|
-
_callbackOnInterruptCallback = classmethod(_callbackOnInterruptCallback)
|
|
1809
|
-
|
|
1810
|
-
HandleSignals = 0
|
|
1811
|
-
NoSignalHandling = 1
|
|
1812
|
-
|
|
1813
|
-
_appName = None
|
|
1814
|
-
_communicator = None
|
|
1815
|
-
_application = None
|
|
1816
|
-
_ctrlCHandler = None
|
|
1817
|
-
_previousCallback = None
|
|
1818
|
-
_interrupted = False
|
|
1819
|
-
_released = False
|
|
1820
|
-
_destroyed = False
|
|
1821
|
-
_callbackInProgress = False
|
|
1822
|
-
_condVar = threading.Condition()
|
|
1823
|
-
_signalPolicy = HandleSignals
|
|
1824
|
-
|
|
1825
|
-
#
|
|
1826
|
-
# Define Ice::Object and Ice::ObjectPrx.
|
|
1827
|
-
#
|
|
1828
|
-
IcePy._t_Object = IcePy.defineClass('::Ice::Object', Object, (), None, ())
|
|
1829
|
-
IcePy._t_Value = IcePy.defineValue('::Ice::Object', Value, -1, (), False, False, None, ())
|
|
1830
|
-
IcePy._t_ObjectPrx = IcePy.defineProxy('::Ice::Object', ObjectPrx)
|
|
1831
|
-
Object._ice_type = IcePy._t_Object
|
|
1832
|
-
|
|
1833
|
-
Object._op_ice_isA = IcePy.Operation('ice_isA', OperationMode.Idempotent, OperationMode.Nonmutating, False, None, (), (((), IcePy._t_string, False, 0),), (), ((), IcePy._t_bool, False, 0), ())
|
|
1834
|
-
Object._op_ice_ping = IcePy.Operation('ice_ping', OperationMode.Idempotent, OperationMode.Nonmutating, False, None, (), (), (), None, ())
|
|
1835
|
-
Object._op_ice_ids = IcePy.Operation('ice_ids', OperationMode.Idempotent, OperationMode.Nonmutating, False, None, (), (), (), ((), _t_StringSeq, False, 0), ())
|
|
1836
|
-
Object._op_ice_id = IcePy.Operation('ice_id', OperationMode.Idempotent, OperationMode.Nonmutating, False, None, (), (), (), ((), IcePy._t_string, False, 0), ())
|
|
1837
|
-
|
|
1838
|
-
IcePy._t_LocalObject = IcePy.defineValue('::Ice::LocalObject', object, -1, (), False, False, None, ())
|
|
1839
|
-
|
|
1840
|
-
IcePy._t_UnknownSlicedValue = IcePy.defineValue('::Ice::UnknownSlicedValue', UnknownSlicedValue, -1, (), True, False, None, ())
|
|
1841
|
-
UnknownSlicedValue._ice_type = IcePy._t_UnknownSlicedValue
|
|
1842
|
-
|
|
1843
|
-
#
|
|
1844
|
-
# Annotate some exceptions.
|
|
1845
|
-
#
|
|
1846
|
-
def SyscallException__str__(self):
|
|
1847
|
-
return "Ice.SyscallException:\n" + os.strerror(self.error)
|
|
1848
|
-
SyscallException.__str__ = SyscallException__str__
|
|
1849
|
-
del SyscallException__str__
|
|
1850
|
-
|
|
1851
|
-
def SocketException__str__(self):
|
|
1852
|
-
return "Ice.SocketException:\n" + os.strerror(self.error)
|
|
1853
|
-
SocketException.__str__ = SocketException__str__
|
|
1854
|
-
del SocketException__str__
|
|
1855
|
-
|
|
1856
|
-
def ConnectFailedException__str__(self):
|
|
1857
|
-
return "Ice.ConnectFailedException:\n" + os.strerror(self.error)
|
|
1858
|
-
ConnectFailedException.__str__ = ConnectFailedException__str__
|
|
1859
|
-
del ConnectFailedException__str__
|
|
1860
|
-
|
|
1861
|
-
def ConnectionRefusedException__str__(self):
|
|
1862
|
-
return "Ice.ConnectionRefusedException:\n" + os.strerror(self.error)
|
|
1863
|
-
ConnectionRefusedException.__str__ = ConnectionRefusedException__str__
|
|
1864
|
-
del ConnectionRefusedException__str__
|
|
1865
|
-
|
|
1866
|
-
def ConnectionLostException__str__(self):
|
|
1867
|
-
if self.error == 0:
|
|
1868
|
-
return "Ice.ConnectionLostException:\nrecv() returned zero"
|
|
1869
|
-
else:
|
|
1870
|
-
return "Ice.ConnectionLostException:\n" + os.strerror(self.error)
|
|
1871
|
-
ConnectionLostException.__str__ = ConnectionLostException__str__
|
|
1872
|
-
del ConnectionLostException__str__
|
|
1873
|
-
|
|
1874
|
-
#
|
|
1875
|
-
# Proxy comparison functions.
|
|
1876
|
-
#
|
|
1877
|
-
def proxyIdentityEqual(lhs, rhs):
|
|
1878
|
-
'''Determines whether the identities of two proxies are equal.'''
|
|
1879
|
-
return proxyIdentityCompare(lhs, rhs) == 0
|
|
1880
|
-
|
|
1881
|
-
def proxyIdentityCompare(lhs, rhs):
|
|
1882
|
-
'''Compares the identities of two proxies.'''
|
|
1883
|
-
if (lhs and not isinstance(lhs, ObjectPrx)) or (rhs and not isinstance(rhs, ObjectPrx)):
|
|
1884
|
-
raise ValueError('argument is not a proxy')
|
|
1885
|
-
if not lhs and not rhs:
|
|
1886
|
-
return 0
|
|
1887
|
-
elif not lhs and rhs:
|
|
1888
|
-
return -1
|
|
1889
|
-
elif lhs and not rhs:
|
|
1890
|
-
return 1
|
|
1891
|
-
else:
|
|
1892
|
-
lid = lhs.ice_getIdentity()
|
|
1893
|
-
rid = rhs.ice_getIdentity()
|
|
1894
|
-
return (lid > rid) - (lid < rid)
|
|
1895
|
-
|
|
1896
|
-
def proxyIdentityAndFacetEqual(lhs, rhs):
|
|
1897
|
-
'''Determines whether the identities and facets of two
|
|
1898
|
-
proxies are equal.'''
|
|
1899
|
-
return proxyIdentityAndFacetCompare(lhs, rhs) == 0
|
|
1900
|
-
|
|
1901
|
-
def proxyIdentityAndFacetCompare(lhs, rhs):
|
|
1902
|
-
'''Compares the identities and facets of two proxies.'''
|
|
1903
|
-
if (lhs and not isinstance(lhs, ObjectPrx)) or (rhs and not isinstance(rhs, ObjectPrx)):
|
|
1904
|
-
raise ValueError('argument is not a proxy')
|
|
1905
|
-
if not lhs and not rhs:
|
|
1906
|
-
return 0
|
|
1907
|
-
elif not lhs and rhs:
|
|
1908
|
-
return -1
|
|
1909
|
-
elif lhs and not rhs:
|
|
1910
|
-
return 1
|
|
1911
|
-
elif lhs.ice_getIdentity() != rhs.ice_getIdentity():
|
|
1912
|
-
lid = lhs.ice_getIdentity()
|
|
1913
|
-
rid = rhs.ice_getIdentity()
|
|
1914
|
-
return (lid > rid) - (lid < rid)
|
|
1915
|
-
else:
|
|
1916
|
-
lf = lhs.ice_getFacet()
|
|
1917
|
-
rf = rhs.ice_getFacet()
|
|
1918
|
-
return (lf > rf) - (lf < rf)
|
|
1919
|
-
|
|
1920
|
-
#
|
|
1921
|
-
# Used by generated code. Defining these in the Ice module means the generated code
|
|
1922
|
-
# can avoid the need to qualify the type() and hash() functions with their module
|
|
1923
|
-
# names. Since the functions are in the __builtin__ module (for Python 2.x) and the
|
|
1924
|
-
# builtins module (for Python 3.x), it's easier to define them here.
|
|
1925
|
-
#
|
|
1926
|
-
def getType(o):
|
|
1927
|
-
return type(o)
|
|
1928
|
-
|
|
1929
|
-
#
|
|
1930
|
-
# Used by generated code. Defining this in the Ice module means the generated code
|
|
1931
|
-
# can avoid the need to qualify the hash() function with its module name. Since
|
|
1932
|
-
# the function is in the __builtin__ module (for Python 2.x) and the builtins
|
|
1933
|
-
# module (for Python 3.x), it's easier to define it here.
|
|
1934
|
-
#
|
|
1935
|
-
def getHash(o):
|
|
1936
|
-
return hash(o)
|
|
1937
|
-
|
|
1938
|
-
Protocol_1_0 = ProtocolVersion(1, 0)
|
|
1939
|
-
Encoding_1_0 = EncodingVersion(1, 0)
|
|
1940
|
-
Encoding_1_1 = EncodingVersion(1, 1)
|
|
1941
|
-
|
|
1942
|
-
|
|
1943
|
-
BuiltinBool = 0
|
|
1944
|
-
BuiltinByte = 1
|
|
1945
|
-
BuiltinShort = 2
|
|
1946
|
-
BuiltinInt = 3
|
|
1947
|
-
BuiltinLong = 4
|
|
1948
|
-
BuiltinFloat = 5
|
|
1949
|
-
BuiltinDouble = 6
|
|
1950
|
-
|
|
1951
|
-
BuiltinTypes = [BuiltinBool, BuiltinByte, BuiltinShort, BuiltinInt, BuiltinLong, BuiltinFloat, BuiltinDouble]
|
|
1952
|
-
BuiltinArrayTypes = ["b", "b", "h", "i", "q", "f", "d"]
|
|
1953
|
-
|
|
1954
|
-
#
|
|
1955
|
-
# The array "q" type specifier is new in Python 3.3
|
|
1956
|
-
#
|
|
1957
|
-
if sys.version_info[:2] >= (3, 3):
|
|
1958
|
-
def createArray(view, t, copy):
|
|
1959
|
-
if t not in BuiltinTypes:
|
|
1960
|
-
raise ValueError("`{0}' is not an array builtin type".format(t))
|
|
1961
|
-
a = array.array(BuiltinArrayTypes[t])
|
|
1962
|
-
a.frombytes(view)
|
|
1963
|
-
return a
|
|
1964
|
-
#
|
|
1965
|
-
# The array.frombytes method is new in Python 3.2
|
|
1966
|
-
#
|
|
1967
|
-
elif sys.version_info[:2] >= (3, 2):
|
|
1968
|
-
def createArray(view, t, copy):
|
|
1969
|
-
if t not in BuiltinTypes:
|
|
1970
|
-
raise ValueError("`{0}' is not an array builtin type".format(t))
|
|
1971
|
-
elif t == BuiltinLong:
|
|
1972
|
-
raise ValueError("array.array 'q' specifier is only supported with Python >= 3.3")
|
|
1973
|
-
a = array.array(BuiltinArrayTypes[t])
|
|
1974
|
-
a.frombytes(view)
|
|
1975
|
-
return a
|
|
1976
|
-
else:
|
|
1977
|
-
def createArray(view, t, copy):
|
|
1978
|
-
if t not in BuiltinTypes:
|
|
1979
|
-
raise ValueError("`{0}' is not an array builtin type".format(t))
|
|
1980
|
-
elif t == BuiltinLong:
|
|
1981
|
-
raise ValueError("array.array 'q' specifier is only supported with Python >= 3.3")
|
|
1982
|
-
a = array.array(BuiltinArrayTypes[t])
|
|
1983
|
-
a.fromstring(str(view.tobytes()))
|
|
1984
|
-
return a
|
|
1985
|
-
|
|
1986
|
-
|
|
1987
|
-
try:
|
|
1988
|
-
import numpy
|
|
1989
|
-
|
|
1990
|
-
BuiltinNumpyTypes = [numpy.bool_, numpy.int8, numpy.int16, numpy.int32, numpy.int64, numpy.float32, numpy.float64]
|
|
1991
|
-
|
|
1992
|
-
#
|
|
1993
|
-
# With Python2.7 we cannot initialize numpy array from memoryview
|
|
1994
|
-
# See: https://github.com/numpy/numpy/issues/5935
|
|
1995
|
-
#
|
|
1996
|
-
if sys.version_info[0] >= 3:
|
|
1997
|
-
def createNumPyArray(view, t, copy):
|
|
1998
|
-
if t not in BuiltinTypes:
|
|
1999
|
-
raise ValueError("`{0}' is not an array builtin type".format(t))
|
|
2000
|
-
return numpy.frombuffer(view.tobytes() if copy else view, BuiltinNumpyTypes[t])
|
|
2001
|
-
else:
|
|
2002
|
-
def createNumPyArray(view, t, copy):
|
|
2003
|
-
if t not in BuiltinTypes:
|
|
2004
|
-
raise ValueError("`{0}' is not an array builtin type".format(t))
|
|
2005
|
-
return numpy.frombuffer(view.tobytes(), BuiltinNumpyTypes[t])
|
|
2006
|
-
|
|
2007
|
-
except ImportError:
|
|
2008
|
-
pass
|
|
1
|
+
# Copyright (c) ZeroC, Inc.
|
|
2
|
+
|
|
3
|
+
"""
|
|
4
|
+
Ice module
|
|
5
|
+
"""
|
|
6
|
+
|
|
7
|
+
from . import asyncio
|
|
8
|
+
|
|
9
|
+
#
|
|
10
|
+
# Import the generated code for the Ice module.
|
|
11
|
+
#
|
|
12
|
+
from .AdapterAlreadyActiveException import AdapterAlreadyActiveException, _Ice_AdapterAlreadyActiveException_t
|
|
13
|
+
from .AdapterNotFoundException import AdapterNotFoundException, _Ice_AdapterNotFoundException_t
|
|
14
|
+
from .Blobject import Blobject
|
|
15
|
+
from .BoolSeq import _Ice_BoolSeq_t
|
|
16
|
+
from .BTEndpointType import BTEndpointType
|
|
17
|
+
from .BTSEndpointType import BTSEndpointType
|
|
18
|
+
from .Builtin import (
|
|
19
|
+
BuiltinBool,
|
|
20
|
+
BuiltinByte,
|
|
21
|
+
BuiltinDouble,
|
|
22
|
+
BuiltinFloat,
|
|
23
|
+
BuiltinInt,
|
|
24
|
+
BuiltinLong,
|
|
25
|
+
BuiltinShort,
|
|
26
|
+
)
|
|
27
|
+
from .ByteSeq import _Ice_ByteSeq_t
|
|
28
|
+
from .Communicator import Communicator
|
|
29
|
+
from .CompressBatch import CompressBatch
|
|
30
|
+
from .Context import _Ice_Context_t
|
|
31
|
+
from .Current import Current
|
|
32
|
+
from .DoubleSeq import _Ice_DoubleSeq_t
|
|
33
|
+
from .EncodingVersion import EncodingVersion, _Ice_EncodingVersion_t
|
|
34
|
+
from .EndpointSelectionType import EndpointSelectionType
|
|
35
|
+
from .EventLoopAdapter import EventLoopAdapter
|
|
36
|
+
from .Exception import Exception
|
|
37
|
+
from .FloatSeq import _Ice_FloatSeq_t
|
|
38
|
+
from .FormatType import FormatType
|
|
39
|
+
from .Future import Future, FutureLike, wrap_future
|
|
40
|
+
from .iAPEndpointType import iAPEndpointType
|
|
41
|
+
from .iAPSEndpointType import iAPSEndpointType
|
|
42
|
+
from .IcePyTypes import (
|
|
43
|
+
BatchRequest,
|
|
44
|
+
Connection,
|
|
45
|
+
ConnectionInfo,
|
|
46
|
+
Endpoint,
|
|
47
|
+
EndpointInfo,
|
|
48
|
+
IPConnectionInfo,
|
|
49
|
+
IPEndpointInfo,
|
|
50
|
+
NativePropertiesAdmin,
|
|
51
|
+
OpaqueEndpointInfo,
|
|
52
|
+
SSLConnectionInfo,
|
|
53
|
+
SSLEndpointInfo,
|
|
54
|
+
TCPConnectionInfo,
|
|
55
|
+
TCPEndpointInfo,
|
|
56
|
+
UDPConnectionInfo,
|
|
57
|
+
UDPEndpointInfo,
|
|
58
|
+
WSConnectionInfo,
|
|
59
|
+
WSEndpointInfo,
|
|
60
|
+
intVersion,
|
|
61
|
+
loadSlice,
|
|
62
|
+
stringVersion,
|
|
63
|
+
)
|
|
64
|
+
from .Identity import Identity, _Ice_Identity_t
|
|
65
|
+
from .IdentitySeq import _Ice_IdentitySeq_t
|
|
66
|
+
from .ImplicitContext import ImplicitContext
|
|
67
|
+
from .InitializationData import InitializationData
|
|
68
|
+
from .IntSeq import _Ice_IntSeq_t
|
|
69
|
+
from .InvalidReplicaGroupIdException import InvalidReplicaGroupIdException, _Ice_InvalidReplicaGroupIdException_t
|
|
70
|
+
from .InvocationFuture import InvocationFuture
|
|
71
|
+
from .LocalException import LocalException
|
|
72
|
+
from .LocalExceptions import (
|
|
73
|
+
AlreadyRegisteredException,
|
|
74
|
+
CloseConnectionException,
|
|
75
|
+
CloseTimeoutException,
|
|
76
|
+
CommunicatorDestroyedException,
|
|
77
|
+
ConnectFailedException,
|
|
78
|
+
ConnectionAbortedException,
|
|
79
|
+
ConnectionClosedException,
|
|
80
|
+
ConnectionLostException,
|
|
81
|
+
ConnectionRefusedException,
|
|
82
|
+
ConnectTimeoutException,
|
|
83
|
+
DatagramLimitException,
|
|
84
|
+
DispatchException,
|
|
85
|
+
DNSException,
|
|
86
|
+
FacetNotExistException,
|
|
87
|
+
FeatureNotSupportedException,
|
|
88
|
+
FixedProxyException,
|
|
89
|
+
InitializationException,
|
|
90
|
+
InvocationCanceledException,
|
|
91
|
+
InvocationTimeoutException,
|
|
92
|
+
MarshalException,
|
|
93
|
+
NoEndpointException,
|
|
94
|
+
NotRegisteredException,
|
|
95
|
+
ObjectAdapterDeactivatedException,
|
|
96
|
+
ObjectAdapterDestroyedException,
|
|
97
|
+
ObjectAdapterIdInUseException,
|
|
98
|
+
ObjectNotExistException,
|
|
99
|
+
OperationNotExistException,
|
|
100
|
+
ParseException,
|
|
101
|
+
PropertyException,
|
|
102
|
+
ProtocolException,
|
|
103
|
+
RequestFailedException,
|
|
104
|
+
SecurityException,
|
|
105
|
+
SocketException,
|
|
106
|
+
SyscallException,
|
|
107
|
+
TimeoutException,
|
|
108
|
+
TwowayOnlyException,
|
|
109
|
+
UnknownException,
|
|
110
|
+
UnknownLocalException,
|
|
111
|
+
UnknownUserException,
|
|
112
|
+
)
|
|
113
|
+
from .Locator import Locator, LocatorPrx
|
|
114
|
+
from .Locator_forward import _Ice_LocatorPrx_t
|
|
115
|
+
from .LocatorFinder import LocatorFinder, LocatorFinderPrx
|
|
116
|
+
from .LocatorFinder_forward import _Ice_LocatorFinderPrx_t
|
|
117
|
+
from .LocatorRegistry import LocatorRegistry, LocatorRegistryPrx
|
|
118
|
+
from .LocatorRegistry_forward import _Ice_LocatorRegistryPrx_t
|
|
119
|
+
from .Logger import Logger
|
|
120
|
+
from .LoggerAdmin import LoggerAdmin, LoggerAdminPrx
|
|
121
|
+
from .LoggerAdmin_forward import _Ice_LoggerAdminPrx_t
|
|
122
|
+
from .LogMessage import LogMessage, _Ice_LogMessage_t
|
|
123
|
+
from .LogMessageSeq import _Ice_LogMessageSeq_t
|
|
124
|
+
from .LogMessageType import LogMessageType, _Ice_LogMessageType_t
|
|
125
|
+
from .LogMessageTypeSeq import _Ice_LogMessageTypeSeq_t
|
|
126
|
+
from .LongSeq import _Ice_LongSeq_t
|
|
127
|
+
from .Object import Object
|
|
128
|
+
from .ObjectAdapter import ObjectAdapter
|
|
129
|
+
from .ObjectNotFoundException import ObjectNotFoundException, _Ice_ObjectNotFoundException_t
|
|
130
|
+
from .ObjectProxySeq import _Ice_ObjectProxySeq_t
|
|
131
|
+
from .ObjectPrx import ObjectPrx
|
|
132
|
+
from .ObjectSeq import _Ice_ObjectSeq_t
|
|
133
|
+
from .OperationMode import OperationMode, _Ice_OperationMode_t
|
|
134
|
+
from .Process import Process, ProcessPrx
|
|
135
|
+
from .Process_forward import _Ice_ProcessPrx_t
|
|
136
|
+
from .ProcessLogger import getProcessLogger, setProcessLogger
|
|
137
|
+
from .Properties import Properties
|
|
138
|
+
from .PropertiesAdmin import PropertiesAdmin, PropertiesAdminPrx
|
|
139
|
+
from .PropertiesAdmin_forward import _Ice_PropertiesAdminPrx_t
|
|
140
|
+
from .PropertyDict import _Ice_PropertyDict_t
|
|
141
|
+
from .ProtocolVersion import ProtocolVersion, _Ice_ProtocolVersion_t
|
|
142
|
+
from .Proxy import proxyIdentityAndFacetCompare, proxyIdentityAndFacetEqual, proxyIdentityCompare, proxyIdentityEqual
|
|
143
|
+
from .RemoteLogger import RemoteLogger, RemoteLoggerPrx
|
|
144
|
+
from .RemoteLogger_forward import _Ice_RemoteLoggerPrx_t
|
|
145
|
+
from .RemoteLoggerAlreadyAttachedException import (
|
|
146
|
+
RemoteLoggerAlreadyAttachedException,
|
|
147
|
+
_Ice_RemoteLoggerAlreadyAttachedException_t,
|
|
148
|
+
)
|
|
149
|
+
from .ReplyStatus import ReplyStatus, _Ice_ReplyStatus_t
|
|
150
|
+
from .Router import Router, RouterPrx
|
|
151
|
+
from .Router_forward import _Ice_RouterPrx_t
|
|
152
|
+
from .RouterFinder import RouterFinder, RouterFinderPrx
|
|
153
|
+
from .RouterFinder_forward import _Ice_RouterFinderPrx_t
|
|
154
|
+
from .ServantLocator import ServantLocator
|
|
155
|
+
from .ServerNotFoundException import ServerNotFoundException, _Ice_ServerNotFoundException_t
|
|
156
|
+
from .ShortSeq import _Ice_ShortSeq_t
|
|
157
|
+
from .SliceChecksumDict import _Ice_SliceChecksumDict_t
|
|
158
|
+
from .SlicedData import SlicedData
|
|
159
|
+
from .SliceInfo import SliceInfo
|
|
160
|
+
from .SSLEndpointType import SSLEndpointType
|
|
161
|
+
from .StringSeq import _Ice_StringSeq_t
|
|
162
|
+
from .TCPEndpointType import TCPEndpointType
|
|
163
|
+
from .ToStringMode import ToStringMode
|
|
164
|
+
from .UDPEndpointType import UDPEndpointType
|
|
165
|
+
from .UnknownSlicedValue import UnknownSlicedValue
|
|
166
|
+
from .URIEndpointType import URIEndpointType
|
|
167
|
+
from .UserException import UserException
|
|
168
|
+
from .Util import createProperties, getSliceDir, identityToString, initialize, stringToIdentity
|
|
169
|
+
from .Value import Value
|
|
170
|
+
from .WSEndpointType import WSEndpointType
|
|
171
|
+
from .WSSEndpointType import WSSEndpointType
|
|
172
|
+
|
|
173
|
+
#
|
|
174
|
+
# Protocol and Encoding constants
|
|
175
|
+
#
|
|
176
|
+
Protocol_1_0 = ProtocolVersion(1, 0)
|
|
177
|
+
Encoding_1_0 = EncodingVersion(1, 0)
|
|
178
|
+
Encoding_1_1 = EncodingVersion(1, 1)
|
|
179
|
+
|
|
180
|
+
|
|
181
|
+
# __all__ defines the public symbols of the Ice module.
|
|
182
|
+
# It controls what is imported when using `from Ice import *`.
|
|
183
|
+
# Sphinx uses this list when generating API documentation via the `automodule` directive.
|
|
184
|
+
__all__ = [
|
|
185
|
+
"AdapterAlreadyActiveException",
|
|
186
|
+
"AdapterNotFoundException",
|
|
187
|
+
"AlreadyRegisteredException",
|
|
188
|
+
"BatchRequest",
|
|
189
|
+
"BTEndpointType",
|
|
190
|
+
"BTSEndpointType",
|
|
191
|
+
"Blobject",
|
|
192
|
+
"BuiltinBool",
|
|
193
|
+
"BuiltinByte",
|
|
194
|
+
"BuiltinDouble",
|
|
195
|
+
"BuiltinFloat",
|
|
196
|
+
"BuiltinInt",
|
|
197
|
+
"BuiltinLong",
|
|
198
|
+
"BuiltinShort",
|
|
199
|
+
"CloseConnectionException",
|
|
200
|
+
"CloseTimeoutException",
|
|
201
|
+
"Communicator",
|
|
202
|
+
"CommunicatorDestroyedException",
|
|
203
|
+
"Connection",
|
|
204
|
+
"CompressBatch",
|
|
205
|
+
"ConnectFailedException",
|
|
206
|
+
"ConnectTimeoutException",
|
|
207
|
+
"ConnectionAbortedException",
|
|
208
|
+
"ConnectionClosedException",
|
|
209
|
+
"ConnectionInfo",
|
|
210
|
+
"ConnectionLostException",
|
|
211
|
+
"ConnectionRefusedException",
|
|
212
|
+
"Current",
|
|
213
|
+
"DNSException",
|
|
214
|
+
"DatagramLimitException",
|
|
215
|
+
"DispatchException",
|
|
216
|
+
"EncodingVersion",
|
|
217
|
+
"Endpoint",
|
|
218
|
+
"EndpointInfo",
|
|
219
|
+
"EndpointSelectionType",
|
|
220
|
+
"EventLoopAdapter",
|
|
221
|
+
"Exception",
|
|
222
|
+
"FacetNotExistException",
|
|
223
|
+
"FeatureNotSupportedException",
|
|
224
|
+
"FixedProxyException",
|
|
225
|
+
"FormatType",
|
|
226
|
+
"Future",
|
|
227
|
+
"FutureLike",
|
|
228
|
+
"IPConnectionInfo",
|
|
229
|
+
"IPEndpointInfo",
|
|
230
|
+
"Identity",
|
|
231
|
+
"ImplicitContext",
|
|
232
|
+
"InitializationData",
|
|
233
|
+
"InitializationException",
|
|
234
|
+
"InvalidReplicaGroupIdException",
|
|
235
|
+
"InvocationCanceledException",
|
|
236
|
+
"InvocationFuture",
|
|
237
|
+
"InvocationTimeoutException",
|
|
238
|
+
"LocalException",
|
|
239
|
+
"Locator",
|
|
240
|
+
"LocatorFinder",
|
|
241
|
+
"LocatorFinderPrx",
|
|
242
|
+
"LocatorPrx",
|
|
243
|
+
"LocatorRegistry",
|
|
244
|
+
"LocatorRegistryPrx",
|
|
245
|
+
"LogMessage",
|
|
246
|
+
"LogMessageType",
|
|
247
|
+
"Logger",
|
|
248
|
+
"LoggerAdmin",
|
|
249
|
+
"LoggerAdminPrx",
|
|
250
|
+
"MarshalException",
|
|
251
|
+
"NativePropertiesAdmin",
|
|
252
|
+
"NoEndpointException",
|
|
253
|
+
"NotRegisteredException",
|
|
254
|
+
"Object",
|
|
255
|
+
"ObjectAdapter",
|
|
256
|
+
"ObjectAdapterDeactivatedException",
|
|
257
|
+
"ObjectAdapterDestroyedException",
|
|
258
|
+
"ObjectAdapterIdInUseException",
|
|
259
|
+
"ObjectNotExistException",
|
|
260
|
+
"ObjectNotFoundException",
|
|
261
|
+
"ObjectPrx",
|
|
262
|
+
"OpaqueEndpointInfo",
|
|
263
|
+
"OperationMode",
|
|
264
|
+
"OperationNotExistException",
|
|
265
|
+
"ParseException",
|
|
266
|
+
"Process",
|
|
267
|
+
"ProcessPrx",
|
|
268
|
+
"Properties",
|
|
269
|
+
"PropertiesAdmin",
|
|
270
|
+
"PropertiesAdminPrx",
|
|
271
|
+
"PropertyException",
|
|
272
|
+
"ProtocolException",
|
|
273
|
+
"ProtocolVersion",
|
|
274
|
+
"RemoteLogger",
|
|
275
|
+
"RemoteLoggerAlreadyAttachedException",
|
|
276
|
+
"RemoteLoggerPrx",
|
|
277
|
+
"ReplyStatus",
|
|
278
|
+
"RequestFailedException",
|
|
279
|
+
"Router",
|
|
280
|
+
"RouterFinder",
|
|
281
|
+
"RouterFinderPrx",
|
|
282
|
+
"RouterPrx",
|
|
283
|
+
"SSLConnectionInfo",
|
|
284
|
+
"SSLEndpointInfo",
|
|
285
|
+
"SSLEndpointType",
|
|
286
|
+
"SecurityException",
|
|
287
|
+
"ServantLocator",
|
|
288
|
+
"ServerNotFoundException",
|
|
289
|
+
"SliceInfo",
|
|
290
|
+
"SlicedData",
|
|
291
|
+
"SocketException",
|
|
292
|
+
"SyscallException",
|
|
293
|
+
"TCPConnectionInfo",
|
|
294
|
+
"TCPEndpointInfo",
|
|
295
|
+
"TCPEndpointType",
|
|
296
|
+
"TimeoutException",
|
|
297
|
+
"ToStringMode",
|
|
298
|
+
"TwowayOnlyException",
|
|
299
|
+
"UDPConnectionInfo",
|
|
300
|
+
"UDPEndpointInfo",
|
|
301
|
+
"UDPEndpointType",
|
|
302
|
+
"URIEndpointType",
|
|
303
|
+
"UnknownException",
|
|
304
|
+
"UnknownLocalException",
|
|
305
|
+
"UnknownSlicedValue",
|
|
306
|
+
"UnknownUserException",
|
|
307
|
+
"UserException",
|
|
308
|
+
"Value",
|
|
309
|
+
"WSConnectionInfo",
|
|
310
|
+
"WSEndpointInfo",
|
|
311
|
+
"WSEndpointType",
|
|
312
|
+
"WSSEndpointType",
|
|
313
|
+
"_Ice_AdapterAlreadyActiveException_t",
|
|
314
|
+
"_Ice_AdapterNotFoundException_t",
|
|
315
|
+
"_Ice_BoolSeq_t",
|
|
316
|
+
"_Ice_ByteSeq_t",
|
|
317
|
+
"_Ice_Context_t",
|
|
318
|
+
"_Ice_DoubleSeq_t",
|
|
319
|
+
"_Ice_EncodingVersion_t",
|
|
320
|
+
"_Ice_FloatSeq_t",
|
|
321
|
+
"_Ice_IdentitySeq_t",
|
|
322
|
+
"_Ice_Identity_t",
|
|
323
|
+
"_Ice_IntSeq_t",
|
|
324
|
+
"_Ice_InvalidReplicaGroupIdException_t",
|
|
325
|
+
"_Ice_LocatorFinderPrx_t",
|
|
326
|
+
"_Ice_LocatorPrx_t",
|
|
327
|
+
"_Ice_LocatorRegistryPrx_t",
|
|
328
|
+
"_Ice_LogMessageSeq_t",
|
|
329
|
+
"_Ice_LogMessageTypeSeq_t",
|
|
330
|
+
"_Ice_LogMessageType_t",
|
|
331
|
+
"_Ice_LogMessage_t",
|
|
332
|
+
"_Ice_LoggerAdminPrx_t",
|
|
333
|
+
"_Ice_LongSeq_t",
|
|
334
|
+
"_Ice_ObjectNotFoundException_t",
|
|
335
|
+
"_Ice_ObjectProxySeq_t",
|
|
336
|
+
"_Ice_ObjectSeq_t",
|
|
337
|
+
"_Ice_OperationMode_t",
|
|
338
|
+
"_Ice_ProcessPrx_t",
|
|
339
|
+
"_Ice_PropertiesAdminPrx_t",
|
|
340
|
+
"_Ice_PropertyDict_t",
|
|
341
|
+
"_Ice_ProtocolVersion_t",
|
|
342
|
+
"_Ice_RemoteLoggerAlreadyAttachedException_t",
|
|
343
|
+
"_Ice_RemoteLoggerPrx_t",
|
|
344
|
+
"_Ice_ReplyStatus_t",
|
|
345
|
+
"_Ice_RouterFinderPrx_t",
|
|
346
|
+
"_Ice_RouterPrx_t",
|
|
347
|
+
"_Ice_ServerNotFoundException_t",
|
|
348
|
+
"_Ice_ShortSeq_t",
|
|
349
|
+
"_Ice_SliceChecksumDict_t",
|
|
350
|
+
"_Ice_StringSeq_t",
|
|
351
|
+
"asyncio",
|
|
352
|
+
"createProperties",
|
|
353
|
+
"getProcessLogger",
|
|
354
|
+
"getSliceDir",
|
|
355
|
+
"iAPEndpointType",
|
|
356
|
+
"iAPSEndpointType",
|
|
357
|
+
"identityToString",
|
|
358
|
+
"initialize",
|
|
359
|
+
"intVersion",
|
|
360
|
+
"loadSlice",
|
|
361
|
+
"proxyIdentityAndFacetCompare",
|
|
362
|
+
"proxyIdentityAndFacetEqual",
|
|
363
|
+
"proxyIdentityCompare",
|
|
364
|
+
"proxyIdentityEqual",
|
|
365
|
+
"setProcessLogger",
|
|
366
|
+
"stringToIdentity",
|
|
367
|
+
"stringVersion",
|
|
368
|
+
"wrap_future",
|
|
369
|
+
]
|