zeroc-ice 3.7.2 → 3.7.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/ext/Config.h +4 -0
- data/ext/Operation.cpp +5 -5
- data/ext/Properties.cpp +1 -1
- data/ext/Proxy.cpp +16 -2
- data/ext/Types.cpp +45 -40
- data/ext/Util.cpp +1 -1
- data/ext/Util.h +10 -8
- data/ext/ice/cpp/include/Ice/Config.h +4 -0
- data/ext/ice/cpp/include/Ice/FactoryTableInit.h +1 -1
- data/ext/ice/cpp/include/Ice/IconvStringConverter.h +4 -3
- data/ext/ice/cpp/include/Ice/InputStream.h +4 -4
- data/ext/ice/cpp/include/Ice/Optional.h +11 -0
- data/ext/ice/cpp/include/Ice/OutgoingAsync.h +1 -1
- data/ext/ice/cpp/include/Ice/OutputStream.h +5 -5
- data/ext/ice/cpp/include/Ice/Proxy.h +17 -5
- data/ext/ice/cpp/include/Ice/StreamHelpers.h +1 -1
- data/ext/ice/cpp/include/Ice/Value.h +1 -1
- data/ext/ice/cpp/include/IceUtil/Atomic.h +1 -1
- data/ext/ice/cpp/include/IceUtil/Config.h +16 -6
- data/ext/ice/cpp/include/IceUtil/ConsoleUtil.h +4 -4
- data/ext/ice/cpp/include/IceUtil/Optional.h +8 -0
- data/ext/ice/cpp/include/IceUtil/OutputUtil.h +17 -14
- data/ext/ice/cpp/include/IceUtil/Random.h +1 -1
- data/ext/ice/cpp/include/IceUtil/ResourceConfig.h +2 -2
- data/ext/ice/cpp/include/IceUtil/ScannerConfig.h +6 -0
- data/ext/ice/cpp/include/IceUtil/StringConverter.h +1 -1
- data/ext/ice/cpp/include/generated/Ice/BuiltinSequences.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/Communicator.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/CommunicatorF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/Connection.h +33 -36
- data/ext/ice/cpp/include/generated/Ice/ConnectionF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/Current.h +20 -21
- data/ext/ice/cpp/include/generated/Ice/Endpoint.h +24 -24
- data/ext/ice/cpp/include/generated/Ice/EndpointF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/EndpointTypes.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/FacetMap.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/Identity.h +4 -5
- data/ext/ice/cpp/include/generated/Ice/ImplicitContext.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/ImplicitContextF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/Instrumentation.h +15 -15
- data/ext/ice/cpp/include/generated/Ice/InstrumentationF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/LocalException.h +27 -93
- data/ext/ice/cpp/include/generated/Ice/Locator.h +27 -32
- data/ext/ice/cpp/include/generated/Ice/LocatorF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/Logger.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/LoggerF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/Metrics.h +75 -79
- data/ext/ice/cpp/include/generated/Ice/ObjectAdapter.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/ObjectAdapterF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/ObjectFactory.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/Plugin.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/PluginF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/Process.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/ProcessF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/Properties.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/PropertiesAdmin.h +9 -9
- data/ext/ice/cpp/include/generated/Ice/PropertiesF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/RemoteLogger.h +9 -11
- data/ext/ice/cpp/include/generated/Ice/Router.h +22 -22
- data/ext/ice/cpp/include/generated/Ice/RouterF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/ServantLocator.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/ServantLocatorF.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/SliceChecksumDict.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/ValueFactory.h +3 -3
- data/ext/ice/cpp/include/generated/Ice/Version.h +15 -17
- data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfo.h +3 -3
- data/ext/ice/cpp/include/generated/IceSSL/ConnectionInfoF.h +3 -3
- data/ext/ice/cpp/include/generated/IceSSL/EndpointInfo.h +3 -3
- data/ext/ice/cpp/src/Ice/ArgVector.cpp +3 -3
- data/ext/ice/cpp/src/Ice/Base64.cpp +11 -12
- data/ext/ice/cpp/src/Ice/BatchRequestQueue.cpp +1 -1
- data/ext/ice/cpp/src/Ice/Buffer.cpp +2 -2
- data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +3 -3
- data/ext/ice/cpp/src/Ice/Communicator.cpp +3 -3
- data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +19 -0
- data/ext/ice/cpp/src/Ice/CommunicatorI.h +5 -0
- data/ext/ice/cpp/src/Ice/Connection.cpp +3 -3
- data/ext/ice/cpp/src/Ice/ConnectionF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/ConnectionI.cpp +31 -16
- data/ext/ice/cpp/src/Ice/Current.cpp +3 -3
- data/ext/ice/cpp/src/Ice/DispatchInterceptor.cpp +13 -0
- data/ext/ice/cpp/src/Ice/DynamicLibrary.cpp +6 -5
- data/ext/ice/cpp/src/Ice/Endpoint.cpp +3 -3
- data/ext/ice/cpp/src/Ice/EndpointF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +3 -3
- data/ext/ice/cpp/src/Ice/Exception.cpp +5 -5
- data/ext/ice/cpp/src/Ice/FacetMap.cpp +3 -3
- data/ext/ice/cpp/src/Ice/HashUtil.h +1 -1
- data/ext/ice/cpp/src/Ice/IPEndpointI.cpp +12 -1
- data/ext/ice/cpp/src/Ice/Identity.cpp +3 -3
- data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +3 -3
- data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/Incoming.cpp +2 -0
- data/ext/ice/cpp/src/Ice/Initialize.cpp +4 -3
- data/ext/ice/cpp/src/Ice/InputStream.cpp +19 -19
- data/ext/ice/cpp/src/Ice/Instance.cpp +28 -8
- data/ext/ice/cpp/src/Ice/Instrumentation.cpp +3 -3
- data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/LocalException.cpp +3 -3
- data/ext/ice/cpp/src/Ice/Locator.cpp +7 -7
- data/ext/ice/cpp/src/Ice/LocatorF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/Logger.cpp +3 -3
- data/ext/ice/cpp/src/Ice/LoggerAdminI.cpp +1 -7
- data/ext/ice/cpp/src/Ice/LoggerF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/LoggerI.cpp +6 -0
- data/ext/ice/cpp/src/Ice/Metrics.cpp +5 -5
- data/ext/ice/cpp/src/Ice/Network.cpp +23 -22
- data/ext/ice/cpp/src/Ice/Network.h +1 -1
- data/ext/ice/cpp/src/Ice/OSLogLoggerI.cpp +57 -0
- data/ext/ice/cpp/src/Ice/OSLogLoggerI.h +40 -0
- data/ext/ice/cpp/src/Ice/Object.cpp +9 -7
- data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +3 -3
- data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +13 -1
- data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +4 -0
- data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +3 -3
- data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +1 -1
- data/ext/ice/cpp/src/Ice/OutputStream.cpp +24 -24
- data/ext/ice/cpp/src/Ice/Plugin.cpp +3 -3
- data/ext/ice/cpp/src/Ice/PluginF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/Process.cpp +3 -3
- data/ext/ice/cpp/src/Ice/ProcessF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/Properties.cpp +3 -3
- data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +4 -4
- data/ext/ice/cpp/src/Ice/PropertiesF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/PropertyNames.cpp +2 -1
- data/ext/ice/cpp/src/Ice/PropertyNames.h +1 -1
- data/ext/ice/cpp/src/Ice/Proxy.cpp +6 -0
- data/ext/ice/cpp/src/Ice/ProxyFactory.cpp +1 -1
- data/ext/ice/cpp/src/Ice/ReferenceFactory.cpp +1 -1
- data/ext/ice/cpp/src/Ice/RegisterPluginsInit.cpp +3 -2
- data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +3 -3
- data/ext/ice/cpp/src/Ice/Router.cpp +6 -6
- data/ext/ice/cpp/src/Ice/RouterF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/SHA1.cpp +2 -2
- data/ext/ice/cpp/src/Ice/Selector.cpp +18 -13
- data/ext/ice/cpp/src/Ice/ServantLocator.cpp +3 -3
- data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +3 -3
- data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +3 -3
- data/ext/ice/cpp/src/Ice/StreamSocket.cpp +6 -6
- data/ext/ice/cpp/src/Ice/TcpAcceptor.cpp +6 -0
- data/ext/ice/cpp/src/Ice/TcpConnector.cpp +5 -0
- data/ext/ice/cpp/src/Ice/TcpEndpointI.cpp +5 -0
- data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +5 -0
- data/ext/ice/cpp/src/Ice/ThreadPool.cpp +63 -0
- data/ext/ice/cpp/src/Ice/ThreadPool.h +10 -2
- data/ext/ice/cpp/src/Ice/Timer.cpp +10 -0
- data/ext/ice/cpp/src/Ice/UdpEndpointI.cpp +11 -1
- data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +10 -2
- data/ext/ice/cpp/src/Ice/ValueFactory.cpp +3 -3
- data/ext/ice/cpp/src/Ice/Version.cpp +3 -3
- data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +16 -15
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +3 -3
- data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +3 -3
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +3 -3
- data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +3 -3
- data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +37 -8
- data/ext/ice/cpp/src/IceSSL/CertificateI.cpp +3 -3
- data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +3 -3
- data/ext/ice/cpp/src/IceSSL/ConnectionInfoF.cpp +3 -3
- data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +3 -3
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.cpp +4 -16
- data/ext/ice/cpp/src/IceSSL/OpenSSLEngine.h +0 -1
- data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +40 -3
- data/ext/ice/cpp/src/IceSSL/SChannelEngine.cpp +0 -7
- data/ext/ice/cpp/src/IceSSL/SChannelEngine.h +0 -2
- data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +18 -6
- data/ext/ice/cpp/src/IceSSL/SSLEngine.cpp +19 -7
- data/ext/ice/cpp/src/IceSSL/SSLEngine.h +2 -0
- data/ext/ice/cpp/src/IceSSL/SecureTransportCertificateI.cpp +32 -21
- data/ext/ice/cpp/src/IceSSL/SecureTransportTransceiverI.cpp +21 -6
- data/ext/ice/cpp/src/IceSSL/SecureTransportUtil.cpp +19 -16
- data/ext/ice/cpp/src/IceSSL/Util.cpp +11 -5
- data/ext/ice/cpp/src/IceUtil/FileUtil.cpp +1 -1
- data/ext/ice/cpp/src/IceUtil/Options.cpp +3 -3
- data/ext/ice/cpp/src/IceUtil/OutputUtil.cpp +40 -10
- data/ext/ice/cpp/src/IceUtil/Random.cpp +2 -2
- data/ext/ice/cpp/src/IceUtil/StringConverter.cpp +5 -5
- data/ext/ice/cpp/src/IceUtil/StringUtil.cpp +3 -3
- data/ext/ice/cpp/src/IceUtil/Time.cpp +3 -3
- data/ext/ice/cpp/src/IceUtil/UUID.cpp +5 -5
- data/ext/ice/cpp/src/IceUtil/UtilException.cpp +4 -4
- data/ext/ice/cpp/src/Slice/CPlusPlusUtil.cpp +13 -9
- data/ext/ice/cpp/src/Slice/CPlusPlusUtil.h +1 -1
- data/ext/ice/cpp/src/Slice/Grammar.cpp +8 -0
- data/ext/ice/cpp/src/Slice/JavaUtil.cpp +1 -2
- data/ext/ice/cpp/src/Slice/MD5I.cpp +8 -0
- data/ext/ice/cpp/src/Slice/Parser.cpp +60 -112
- data/ext/ice/cpp/src/Slice/Parser.h +27 -1
- data/ext/ice/cpp/src/Slice/Preprocessor.cpp +2 -1
- data/ext/ice/cpp/src/Slice/PythonUtil.cpp +10 -10
- data/ext/ice/cpp/src/Slice/RubyUtil.cpp +1 -1
- data/ext/ice/cpp/src/Slice/Scanner.cpp +8 -0
- data/ext/ice/cpp/src/Slice/StringLiteralUtil.cpp +11 -6
- data/ext/ice/mcpp/Makefile +2 -5
- data/ice.gemspec +1 -1
- data/lib/Glacier2/Metrics.rb +1 -1
- data/lib/Glacier2/PermissionsVerifier.rb +1 -1
- data/lib/Glacier2/PermissionsVerifierF.rb +1 -1
- data/lib/Glacier2/Router.rb +1 -1
- data/lib/Glacier2/RouterF.rb +1 -1
- data/lib/Glacier2/SSLInfo.rb +1 -1
- data/lib/Glacier2/Session.rb +1 -1
- data/lib/Ice/BuiltinSequences.rb +1 -1
- data/lib/Ice/Communicator.rb +1 -1
- data/lib/Ice/CommunicatorF.rb +1 -1
- data/lib/Ice/Connection.rb +1 -1
- data/lib/Ice/ConnectionF.rb +1 -1
- data/lib/Ice/Current.rb +1 -1
- data/lib/Ice/Endpoint.rb +1 -1
- data/lib/Ice/EndpointF.rb +1 -1
- data/lib/Ice/EndpointTypes.rb +1 -1
- data/lib/Ice/FacetMap.rb +1 -1
- data/lib/Ice/Identity.rb +1 -1
- data/lib/Ice/ImplicitContext.rb +1 -1
- data/lib/Ice/ImplicitContextF.rb +1 -1
- data/lib/Ice/Instrumentation.rb +1 -1
- data/lib/Ice/InstrumentationF.rb +1 -1
- data/lib/Ice/LocalException.rb +1 -1
- data/lib/Ice/Locator.rb +1 -1
- data/lib/Ice/LocatorF.rb +1 -1
- data/lib/Ice/Logger.rb +1 -1
- data/lib/Ice/LoggerF.rb +1 -1
- data/lib/Ice/Metrics.rb +1 -1
- data/lib/Ice/ObjectAdapter.rb +1 -1
- data/lib/Ice/ObjectAdapterF.rb +1 -1
- data/lib/Ice/ObjectFactory.rb +1 -1
- data/lib/Ice/Plugin.rb +1 -1
- data/lib/Ice/PluginF.rb +1 -1
- data/lib/Ice/Process.rb +1 -1
- data/lib/Ice/ProcessF.rb +1 -1
- data/lib/Ice/Properties.rb +1 -1
- data/lib/Ice/PropertiesAdmin.rb +1 -1
- data/lib/Ice/PropertiesF.rb +1 -1
- data/lib/Ice/RemoteLogger.rb +1 -1
- data/lib/Ice/Router.rb +1 -1
- data/lib/Ice/RouterF.rb +1 -1
- data/lib/Ice/ServantLocator.rb +1 -1
- data/lib/Ice/ServantLocatorF.rb +1 -1
- data/lib/Ice/SliceChecksumDict.rb +1 -1
- data/lib/Ice/ValueFactory.rb +1 -1
- data/lib/Ice/Version.rb +1 -1
- data/lib/IceBox/IceBox.rb +1 -1
- data/lib/IceGrid/Admin.rb +1 -1
- data/lib/IceGrid/Descriptor.rb +1 -1
- data/lib/IceGrid/Exception.rb +1 -1
- data/lib/IceGrid/FileParser.rb +1 -1
- data/lib/IceGrid/PluginFacade.rb +1 -1
- data/lib/IceGrid/Registry.rb +1 -1
- data/lib/IceGrid/Session.rb +1 -1
- data/lib/IceGrid/UserAccountMapper.rb +1 -1
- data/lib/IcePatch2/FileInfo.rb +1 -1
- data/lib/IcePatch2/FileServer.rb +1 -1
- data/lib/IceStorm/IceStorm.rb +1 -1
- data/lib/IceStorm/Metrics.rb +1 -1
- data/slice/Glacier2/Metrics.ice +1 -1
- data/slice/Ice/Communicator.ice +57 -25
- data/slice/Ice/Connection.ice +14 -14
- data/slice/Ice/Current.ice +1 -1
- data/slice/Ice/Endpoint.ice +6 -6
- data/slice/Ice/EndpointF.ice +1 -1
- data/slice/Ice/FacetMap.ice +1 -1
- data/slice/Ice/ImplicitContext.ice +6 -6
- data/slice/Ice/Instrumentation.ice +6 -6
- data/slice/Ice/Logger.ice +6 -6
- data/slice/Ice/Metrics.ice +12 -9
- data/slice/Ice/ObjectAdapter.ice +43 -31
- data/slice/Ice/ObjectFactory.ice +1 -1
- data/slice/Ice/Plugin.ice +2 -2
- data/slice/Ice/Properties.ice +10 -10
- data/slice/Ice/ServantLocator.ice +4 -2
- data/slice/Ice/ValueFactory.ice +3 -3
- data/slice/IceBT/EndpointInfo.ice +1 -1
- data/slice/IceGrid/PluginFacade.ice +4 -4
- data/slice/IceIAP/ConnectionInfo.ice +1 -1
- data/slice/IceIAP/EndpointInfo.ice +1 -1
- data/slice/IceSSL/ConnectionInfo.ice +3 -2
- data/slice/IceSSL/ConnectionInfoF.ice +1 -1
- data/slice/IceSSL/EndpointInfo.ice +1 -1
- data/slice/IceStorm/Metrics.ice +1 -1
- metadata +5 -3
@@ -110,6 +110,10 @@ public:
|
|
110
110
|
|
111
111
|
std::string prefix() const;
|
112
112
|
|
113
|
+
#ifdef ICE_SWIFT
|
114
|
+
dispatch_queue_t getDispatchQueue() const ICE_NOEXCEPT;
|
115
|
+
#endif
|
116
|
+
|
113
117
|
private:
|
114
118
|
|
115
119
|
void run(const EventHandlerThreadPtr&);
|
@@ -127,10 +131,14 @@ private:
|
|
127
131
|
std::string nextThreadId();
|
128
132
|
|
129
133
|
const InstancePtr _instance;
|
130
|
-
#ifdef
|
134
|
+
#ifdef ICE_SWIFT
|
135
|
+
const dispatch_queue_t _dispatchQueue;
|
136
|
+
#else // Ice for Swift does not support a dispatcher
|
137
|
+
# ifdef ICE_CPP11_MAPPING
|
131
138
|
std::function<void(std::function<void()>, const std::shared_ptr<Ice::Connection>&)> _dispatcher;
|
132
|
-
#else
|
139
|
+
# else
|
133
140
|
const Ice::DispatcherPtr _dispatcher;
|
141
|
+
# endif
|
134
142
|
#endif
|
135
143
|
ThreadPoolWorkQueuePtr _workQueue;
|
136
144
|
bool _destroyed;
|
@@ -242,6 +242,16 @@ Timer::run()
|
|
242
242
|
{
|
243
243
|
consoleErr << "IceUtil::Timer::run(): uncaught exception" << endl;
|
244
244
|
}
|
245
|
+
|
246
|
+
if(token.delay == IceUtil::Time())
|
247
|
+
{
|
248
|
+
//
|
249
|
+
// If thisthe task is not a repeated task, clear the task reference now rather than
|
250
|
+
// in the synchronization block above. Clearing the task reference might end up
|
251
|
+
// calling user code which could trigger a deadlock. See also issue #352.
|
252
|
+
//
|
253
|
+
token.task = ICE_NULLPTR;
|
254
|
+
}
|
245
255
|
}
|
246
256
|
}
|
247
257
|
}
|
@@ -214,7 +214,17 @@ IceInternal::UdpEndpointI::options() const
|
|
214
214
|
|
215
215
|
if(_mcastInterface.length() > 0)
|
216
216
|
{
|
217
|
-
s << " --interface "
|
217
|
+
s << " --interface ";
|
218
|
+
bool addQuote = _mcastInterface.find(':') != string::npos;
|
219
|
+
if(addQuote)
|
220
|
+
{
|
221
|
+
s << "\"";
|
222
|
+
}
|
223
|
+
s << _mcastInterface;
|
224
|
+
if(addQuote)
|
225
|
+
{
|
226
|
+
s << "\"";
|
227
|
+
}
|
218
228
|
}
|
219
229
|
|
220
230
|
if(_mcastTtl != -1)
|
@@ -259,13 +259,21 @@ IceInternal::UdpTransceiver::read(Buffer& buf)
|
|
259
259
|
assert(buf.i == buf.b.begin());
|
260
260
|
assert(_fd != INVALID_SOCKET);
|
261
261
|
|
262
|
-
|
262
|
+
#ifdef _WIN32
|
263
|
+
int packetSize = min(_maxPacketSize, _rcvSize - _udpOverhead);
|
264
|
+
#else
|
265
|
+
const size_t packetSize = static_cast<size_t>(min(_maxPacketSize, _rcvSize - _udpOverhead));
|
266
|
+
#endif
|
263
267
|
buf.b.resize(packetSize);
|
264
268
|
buf.i = buf.b.begin();
|
265
269
|
|
266
270
|
repeat:
|
267
271
|
|
272
|
+
#ifdef _WIN32
|
273
|
+
int ret;
|
274
|
+
#else
|
268
275
|
ssize_t ret;
|
276
|
+
#endif
|
269
277
|
if(_state == StateConnected)
|
270
278
|
{
|
271
279
|
ret = ::recv(_fd, reinterpret_cast<char*>(&buf.b[0]), packetSize, 0);
|
@@ -341,7 +349,7 @@ repeat:
|
|
341
349
|
}
|
342
350
|
}
|
343
351
|
|
344
|
-
buf.b.resize(ret);
|
352
|
+
buf.b.resize(static_cast<size_t>(ret));
|
345
353
|
buf.i = buf.b.end();
|
346
354
|
return SocketOperationNone;
|
347
355
|
#endif
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Copyright (c) ZeroC, Inc. All rights reserved.
|
3
3
|
//
|
4
4
|
//
|
5
|
-
// Ice version 3.7.
|
5
|
+
// Ice version 3.7.3
|
6
6
|
//
|
7
7
|
// <auto-generated>
|
8
8
|
//
|
@@ -34,10 +34,10 @@
|
|
34
34
|
# if ICE_INT_VERSION / 100 != 307
|
35
35
|
# error Ice version mismatch!
|
36
36
|
# endif
|
37
|
-
# if ICE_INT_VERSION % 100
|
37
|
+
# if ICE_INT_VERSION % 100 >= 50
|
38
38
|
# error Beta header file detected
|
39
39
|
# endif
|
40
|
-
# if ICE_INT_VERSION % 100 <
|
40
|
+
# if ICE_INT_VERSION % 100 < 3
|
41
41
|
# error Ice patch level mismatch!
|
42
42
|
# endif
|
43
43
|
#endif
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Copyright (c) ZeroC, Inc. All rights reserved.
|
3
3
|
//
|
4
4
|
//
|
5
|
-
// Ice version 3.7.
|
5
|
+
// Ice version 3.7.3
|
6
6
|
//
|
7
7
|
// <auto-generated>
|
8
8
|
//
|
@@ -34,10 +34,10 @@
|
|
34
34
|
# if ICE_INT_VERSION / 100 != 307
|
35
35
|
# error Ice version mismatch!
|
36
36
|
# endif
|
37
|
-
# if ICE_INT_VERSION % 100
|
37
|
+
# if ICE_INT_VERSION % 100 >= 50
|
38
38
|
# error Beta header file detected
|
39
39
|
# endif
|
40
|
-
# if ICE_INT_VERSION % 100 <
|
40
|
+
# if ICE_INT_VERSION % 100 < 3
|
41
41
|
# error Ice patch level mismatch!
|
42
42
|
# endif
|
43
43
|
#endif
|
@@ -588,11 +588,11 @@ IceInternal::WSTransceiver::read(Buffer& buf)
|
|
588
588
|
// no more than the payload length. The remaining of the buffer will be
|
589
589
|
// sent over in another frame.
|
590
590
|
//
|
591
|
-
size_t readSz = _readPayloadLength - (buf.i - _readStart); // Already read
|
591
|
+
size_t readSz = _readPayloadLength - static_cast<size_t>(buf.i - _readStart); // Already read
|
592
592
|
if(static_cast<size_t>(buf.b.end() - buf.i) > readSz)
|
593
593
|
{
|
594
594
|
size_t size = buf.b.size();
|
595
|
-
buf.b.resize(buf.i - buf.b.begin() + readSz);
|
595
|
+
buf.b.resize(static_cast<size_t>(buf.i - buf.b.begin()) + readSz);
|
596
596
|
s = _delegate->read(buf);
|
597
597
|
buf.b.resize(size);
|
598
598
|
}
|
@@ -1394,7 +1394,7 @@ IceInternal::WSTransceiver::preRead(Buffer& buf)
|
|
1394
1394
|
return false;
|
1395
1395
|
}
|
1396
1396
|
|
1397
|
-
size_t n = min(_readBuffer.i - _readI, buf.b.end() - buf.i);
|
1397
|
+
size_t n = min(static_cast<size_t>(_readBuffer.i - _readI), static_cast<size_t>(buf.b.end() - buf.i));
|
1398
1398
|
|
1399
1399
|
if(n > _readPayloadLength)
|
1400
1400
|
{
|
@@ -1435,13 +1435,13 @@ IceInternal::WSTransceiver::postRead(Buffer& buf)
|
|
1435
1435
|
// Unmask the data we just read.
|
1436
1436
|
//
|
1437
1437
|
IceInternal::Buffer::Container::iterator p = _readStart;
|
1438
|
-
for(size_t n = _readStart - _readFrameStart; p < buf.i; ++p, ++n)
|
1438
|
+
for(size_t n = static_cast<size_t>(_readStart - _readFrameStart); p < buf.i; ++p, ++n)
|
1439
1439
|
{
|
1440
1440
|
*p ^= _readMask[n % 4];
|
1441
1441
|
}
|
1442
1442
|
}
|
1443
1443
|
|
1444
|
-
_readPayloadLength -= buf.i - _readStart;
|
1444
|
+
_readPayloadLength -= static_cast<size_t>(buf.i - _readStart);
|
1445
1445
|
_readStart = buf.i;
|
1446
1446
|
if(_readPayloadLength == 0)
|
1447
1447
|
{
|
@@ -1474,7 +1474,7 @@ IceInternal::WSTransceiver::preWrite(Buffer& buf)
|
|
1474
1474
|
{
|
1475
1475
|
prepareWriteHeader(OP_PING, 0); // Don't send any payload
|
1476
1476
|
|
1477
|
-
_writeBuffer.b.resize(_writeBuffer.i - _writeBuffer.b.begin());
|
1477
|
+
_writeBuffer.b.resize(static_cast<size_t>(_writeBuffer.i - _writeBuffer.b.begin()));
|
1478
1478
|
_writeState = WriteStateControlFrame;
|
1479
1479
|
_writeBuffer.i = _writeBuffer.b.begin();
|
1480
1480
|
}
|
@@ -1483,7 +1483,7 @@ IceInternal::WSTransceiver::preWrite(Buffer& buf)
|
|
1483
1483
|
prepareWriteHeader(OP_PONG, _pingPayload.size());
|
1484
1484
|
if(_pingPayload.size() > static_cast<size_t>(_writeBuffer.b.end() - _writeBuffer.i))
|
1485
1485
|
{
|
1486
|
-
size_t pos = _writeBuffer.i - _writeBuffer.b.begin();
|
1486
|
+
size_t pos = static_cast<size_t>(_writeBuffer.i - _writeBuffer.b.begin());
|
1487
1487
|
_writeBuffer.b.resize(pos + _pingPayload.size());
|
1488
1488
|
_writeBuffer.i = _writeBuffer.b.begin() + pos;
|
1489
1489
|
}
|
@@ -1491,7 +1491,7 @@ IceInternal::WSTransceiver::preWrite(Buffer& buf)
|
|
1491
1491
|
_writeBuffer.i += _pingPayload.size();
|
1492
1492
|
_pingPayload.clear();
|
1493
1493
|
|
1494
|
-
_writeBuffer.b.resize(_writeBuffer.i - _writeBuffer.b.begin());
|
1494
|
+
_writeBuffer.b.resize(static_cast<size_t>(_writeBuffer.i - _writeBuffer.b.begin()));
|
1495
1495
|
_writeState = WriteStateControlFrame;
|
1496
1496
|
_writeBuffer.i = _writeBuffer.b.begin();
|
1497
1497
|
}
|
@@ -1513,7 +1513,7 @@ IceInternal::WSTransceiver::preWrite(Buffer& buf)
|
|
1513
1513
|
}
|
1514
1514
|
|
1515
1515
|
_writeState = WriteStateControlFrame;
|
1516
|
-
_writeBuffer.b.resize(_writeBuffer.i - _writeBuffer.b.begin());
|
1516
|
+
_writeBuffer.b.resize(static_cast<size_t>(_writeBuffer.i - _writeBuffer.b.begin()));
|
1517
1517
|
_writeBuffer.i = _writeBuffer.b.begin();
|
1518
1518
|
}
|
1519
1519
|
else
|
@@ -1543,7 +1543,7 @@ IceInternal::WSTransceiver::preWrite(Buffer& buf)
|
|
1543
1543
|
_writeBuffer.i = _writeBuffer.b.begin();
|
1544
1544
|
}
|
1545
1545
|
|
1546
|
-
size_t n = buf.i - buf.b.begin();
|
1546
|
+
size_t n = static_cast<size_t>(buf.i - buf.b.begin());
|
1547
1547
|
for(; n < buf.b.size() && _writeBuffer.i < _writeBuffer.b.end(); ++_writeBuffer.i, ++n)
|
1548
1548
|
{
|
1549
1549
|
*_writeBuffer.i = buf.b[n] ^ _writeMask[n % 4];
|
@@ -1551,20 +1551,21 @@ IceInternal::WSTransceiver::preWrite(Buffer& buf)
|
|
1551
1551
|
_writePayloadLength = n;
|
1552
1552
|
if(_writeBuffer.i < _writeBuffer.b.end())
|
1553
1553
|
{
|
1554
|
-
_writeBuffer.b.resize(_writeBuffer.i - _writeBuffer.b.begin());
|
1554
|
+
_writeBuffer.b.resize(static_cast<size_t>(_writeBuffer.i - _writeBuffer.b.begin()));
|
1555
1555
|
}
|
1556
1556
|
_writeBuffer.i = _writeBuffer.b.begin();
|
1557
1557
|
}
|
1558
1558
|
else if(_writePayloadLength == 0)
|
1559
1559
|
{
|
1560
|
-
size_t n = min(_writeBuffer.b.end() - _writeBuffer.i,
|
1560
|
+
size_t n = min(static_cast<size_t>(_writeBuffer.b.end() - _writeBuffer.i),
|
1561
|
+
static_cast<size_t>(buf.b.end() - buf.i));
|
1561
1562
|
memcpy(_writeBuffer.i, buf.i, n);
|
1562
1563
|
_writeBuffer.i += n;
|
1563
1564
|
buf.i += n;
|
1564
1565
|
_writePayloadLength = n;
|
1565
1566
|
if(_writeBuffer.i < _writeBuffer.b.end())
|
1566
1567
|
{
|
1567
|
-
_writeBuffer.b.resize(_writeBuffer.i - _writeBuffer.b.begin());
|
1568
|
+
_writeBuffer.b.resize(static_cast<size_t>(_writeBuffer.i - _writeBuffer.b.begin()));
|
1568
1569
|
}
|
1569
1570
|
_writeBuffer.i = _writeBuffer.b.begin();
|
1570
1571
|
}
|
@@ -1670,7 +1671,7 @@ IceInternal::WSTransceiver::readBuffered(IceInternal::Buffer::Container::size_ty
|
|
1670
1671
|
}
|
1671
1672
|
else
|
1672
1673
|
{
|
1673
|
-
|
1674
|
+
size_t available = static_cast<size_t>(_readBuffer.i - _readI);
|
1674
1675
|
if(available < sz)
|
1675
1676
|
{
|
1676
1677
|
if(_readI != &_readBuffer.b[0])
|
@@ -1728,7 +1729,7 @@ IceInternal::WSTransceiver::prepareWriteHeader(Byte opCode, IceInternal::Buffer:
|
|
1728
1729
|
// Use an extra 64 bits to encode the payload length.
|
1729
1730
|
//
|
1730
1731
|
*_writeBuffer.i++ = static_cast<Byte>(127);
|
1731
|
-
ice_htonll(payloadLength, _writeBuffer.i);
|
1732
|
+
ice_htonll(static_cast<Long>(payloadLength), _writeBuffer.i);
|
1732
1733
|
_writeBuffer.i += 8;
|
1733
1734
|
}
|
1734
1735
|
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Copyright (c) ZeroC, Inc. All rights reserved.
|
3
3
|
//
|
4
4
|
//
|
5
|
-
// Ice version 3.7.
|
5
|
+
// Ice version 3.7.3
|
6
6
|
//
|
7
7
|
// <auto-generated>
|
8
8
|
//
|
@@ -34,10 +34,10 @@
|
|
34
34
|
# if ICE_INT_VERSION / 100 != 307
|
35
35
|
# error Ice version mismatch!
|
36
36
|
# endif
|
37
|
-
# if ICE_INT_VERSION % 100
|
37
|
+
# if ICE_INT_VERSION % 100 >= 50
|
38
38
|
# error Beta header file detected
|
39
39
|
# endif
|
40
|
-
# if ICE_INT_VERSION % 100 <
|
40
|
+
# if ICE_INT_VERSION % 100 < 3
|
41
41
|
# error Ice patch level mismatch!
|
42
42
|
# endif
|
43
43
|
#endif
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Copyright (c) ZeroC, Inc. All rights reserved.
|
3
3
|
//
|
4
4
|
//
|
5
|
-
// Ice version 3.7.
|
5
|
+
// Ice version 3.7.3
|
6
6
|
//
|
7
7
|
// <auto-generated>
|
8
8
|
//
|
@@ -39,10 +39,10 @@
|
|
39
39
|
# if ICE_INT_VERSION / 100 != 307
|
40
40
|
# error Ice version mismatch!
|
41
41
|
# endif
|
42
|
-
# if ICE_INT_VERSION % 100
|
42
|
+
# if ICE_INT_VERSION % 100 >= 50
|
43
43
|
# error Beta header file detected
|
44
44
|
# endif
|
45
|
-
# if ICE_INT_VERSION % 100 <
|
45
|
+
# if ICE_INT_VERSION % 100 < 3
|
46
46
|
# error Ice patch level mismatch!
|
47
47
|
# endif
|
48
48
|
#endif
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Copyright (c) ZeroC, Inc. All rights reserved.
|
3
3
|
//
|
4
4
|
//
|
5
|
-
// Ice version 3.7.
|
5
|
+
// Ice version 3.7.3
|
6
6
|
//
|
7
7
|
// <auto-generated>
|
8
8
|
//
|
@@ -35,10 +35,10 @@
|
|
35
35
|
# if ICE_INT_VERSION / 100 != 307
|
36
36
|
# error Ice version mismatch!
|
37
37
|
# endif
|
38
|
-
# if ICE_INT_VERSION % 100
|
38
|
+
# if ICE_INT_VERSION % 100 >= 50
|
39
39
|
# error Beta header file detected
|
40
40
|
# endif
|
41
|
-
# if ICE_INT_VERSION % 100 <
|
41
|
+
# if ICE_INT_VERSION % 100 < 3
|
42
42
|
# error Ice patch level mismatch!
|
43
43
|
# endif
|
44
44
|
#endif
|
@@ -2,7 +2,7 @@
|
|
2
2
|
// Copyright (c) ZeroC, Inc. All rights reserved.
|
3
3
|
//
|
4
4
|
//
|
5
|
-
// Ice version 3.7.
|
5
|
+
// Ice version 3.7.3
|
6
6
|
//
|
7
7
|
// <auto-generated>
|
8
8
|
//
|
@@ -41,10 +41,10 @@
|
|
41
41
|
# if ICE_INT_VERSION / 100 != 307
|
42
42
|
# error Ice version mismatch!
|
43
43
|
# endif
|
44
|
-
# if ICE_INT_VERSION % 100
|
44
|
+
# if ICE_INT_VERSION % 100 >= 50
|
45
45
|
# error Beta header file detected
|
46
46
|
# endif
|
47
|
-
# if ICE_INT_VERSION % 100 <
|
47
|
+
# if ICE_INT_VERSION % 100 < 3
|
48
48
|
# error Ice patch level mismatch!
|
49
49
|
# endif
|
50
50
|
#endif
|
@@ -106,9 +106,9 @@ private:
|
|
106
106
|
|
107
107
|
LookupPrxPtr _lookup;
|
108
108
|
vector<pair<LookupPrxPtr, LookupReplyPrxPtr> > _lookups;
|
109
|
-
|
110
|
-
|
111
|
-
|
109
|
+
IceUtil::Time _timeout;
|
110
|
+
int _retryCount;
|
111
|
+
IceUtil::Time _retryDelay;
|
112
112
|
const IceUtil::TimerPtr _timer;
|
113
113
|
const int _traceLevel;
|
114
114
|
|
@@ -119,6 +119,7 @@ private:
|
|
119
119
|
Ice::LocatorPrxPtr _voidLocator;
|
120
120
|
|
121
121
|
IceUtil::Time _nextRetry;
|
122
|
+
bool _pending;
|
122
123
|
int _pendingRetryCount;
|
123
124
|
size_t _failureCount;
|
124
125
|
bool _warnOnce;
|
@@ -574,10 +575,24 @@ LocatorI::LocatorI(const string& name,
|
|
574
575
|
_warned(false),
|
575
576
|
_locator(lookup->ice_getCommunicator()->getDefaultLocator()),
|
576
577
|
_voidLocator(voidLocator),
|
578
|
+
_pending(false),
|
577
579
|
_pendingRetryCount(0),
|
578
580
|
_failureCount(0),
|
579
581
|
_warnOnce(true)
|
580
582
|
{
|
583
|
+
if(_timeout < IceUtil::Time::milliSeconds(0))
|
584
|
+
{
|
585
|
+
_timeout = IceUtil::Time::milliSeconds(300);
|
586
|
+
}
|
587
|
+
if(_retryCount < 0)
|
588
|
+
{
|
589
|
+
_retryCount = 0;
|
590
|
+
}
|
591
|
+
if(_retryDelay < IceUtil::Time::milliSeconds(0))
|
592
|
+
{
|
593
|
+
_retryDelay = IceUtil::Time::milliSeconds(0);
|
594
|
+
}
|
595
|
+
|
581
596
|
//
|
582
597
|
// Create one lookup proxy per endpoint from the given proxy. We want to send a multicast
|
583
598
|
// datagram on each endpoint.
|
@@ -669,7 +684,7 @@ LocatorI::getLocators(const string& instanceName, const IceUtil::Time& waitTime)
|
|
669
684
|
else
|
670
685
|
{
|
671
686
|
Lock sync(*this);
|
672
|
-
while(_locators.find(instanceName) == _locators.end() &&
|
687
|
+
while(_locators.find(instanceName) == _locators.end() && _pending)
|
673
688
|
{
|
674
689
|
timedWait(waitTime);
|
675
690
|
}
|
@@ -725,10 +740,11 @@ LocatorI::foundLocator(const Ice::LocatorPrxPtr& locator)
|
|
725
740
|
return;
|
726
741
|
}
|
727
742
|
|
728
|
-
if(
|
743
|
+
if(_pending) // No need to continue, we found a locator.
|
729
744
|
{
|
730
745
|
_timer->cancel(ICE_SHARED_FROM_THIS);
|
731
746
|
_pendingRetryCount = 0;
|
747
|
+
_pending = false;
|
732
748
|
}
|
733
749
|
|
734
750
|
if(_traceLevel > 0)
|
@@ -821,8 +837,9 @@ LocatorI::invoke(const Ice::LocatorPrxPtr& locator, const RequestPtr& request)
|
|
821
837
|
_pendingRequests.push_back(request);
|
822
838
|
}
|
823
839
|
|
824
|
-
if(
|
840
|
+
if(!_pending) // No request in progress
|
825
841
|
{
|
842
|
+
_pending = true;
|
826
843
|
_failureCount = 0;
|
827
844
|
_pendingRetryCount = _retryCount;
|
828
845
|
try
|
@@ -877,6 +894,7 @@ LocatorI::invoke(const Ice::LocatorPrxPtr& locator, const RequestPtr& request)
|
|
877
894
|
(*p)->invoke(_voidLocator);
|
878
895
|
}
|
879
896
|
_pendingRequests.clear();
|
897
|
+
_pending = false;
|
880
898
|
_pendingRetryCount = 0;
|
881
899
|
}
|
882
900
|
}
|
@@ -887,13 +905,14 @@ void
|
|
887
905
|
LocatorI::exception(const Ice::LocalException& ex)
|
888
906
|
{
|
889
907
|
Lock sync(*this);
|
890
|
-
if(++_failureCount == _lookups.size() &&
|
908
|
+
if(++_failureCount == _lookups.size() && _pending)
|
891
909
|
{
|
892
910
|
//
|
893
911
|
// All the lookup calls failed, cancel the timer and propagate the error to the requests.
|
894
912
|
//
|
895
913
|
_timer->cancel(ICE_SHARED_FROM_THIS);
|
896
914
|
_pendingRetryCount = 0;
|
915
|
+
_pending = false;
|
897
916
|
|
898
917
|
if(_warnOnce)
|
899
918
|
{
|
@@ -932,8 +951,15 @@ void
|
|
932
951
|
LocatorI::runTimerTask()
|
933
952
|
{
|
934
953
|
Lock sync(*this);
|
935
|
-
if(
|
954
|
+
if(!_pending)
|
936
955
|
{
|
956
|
+
assert(_pendingRequests.empty());
|
957
|
+
return; // The request failed
|
958
|
+
}
|
959
|
+
|
960
|
+
if(_pendingRetryCount > 0)
|
961
|
+
{
|
962
|
+
--_pendingRetryCount;
|
937
963
|
try
|
938
964
|
{
|
939
965
|
if(_traceLevel > 1)
|
@@ -976,6 +1002,9 @@ LocatorI::runTimerTask()
|
|
976
1002
|
_pendingRetryCount = 0;
|
977
1003
|
}
|
978
1004
|
|
1005
|
+
assert(_pendingRetryCount == 0);
|
1006
|
+
_pending = false;
|
1007
|
+
|
979
1008
|
if(_traceLevel > 0)
|
980
1009
|
{
|
981
1010
|
Ice::Trace out(_lookup->ice_getCommunicator()->getLogger(), "Lookup");
|