zeroc-ice 3.6.0 → 3.6.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (195) hide show
  1. checksums.yaml +4 -4
  2. data/ext/ice/cpp/include/Ice/BuiltinSequences.h +2 -2
  3. data/ext/ice/cpp/include/Ice/Communicator.h +2 -2
  4. data/ext/ice/cpp/include/Ice/CommunicatorF.h +2 -2
  5. data/ext/ice/cpp/include/Ice/Connection.h +5 -9
  6. data/ext/ice/cpp/include/Ice/ConnectionF.h +2 -2
  7. data/ext/ice/cpp/include/Ice/Current.h +2 -2
  8. data/ext/ice/cpp/include/Ice/Endpoint.h +6 -11
  9. data/ext/ice/cpp/include/Ice/EndpointF.h +2 -2
  10. data/ext/ice/cpp/include/Ice/EndpointTypes.h +2 -2
  11. data/ext/ice/cpp/include/Ice/FacetMap.h +2 -2
  12. data/ext/ice/cpp/include/Ice/Ice.h +1 -0
  13. data/ext/ice/cpp/include/Ice/Identity.h +2 -2
  14. data/ext/ice/cpp/include/Ice/ImplicitContext.h +2 -2
  15. data/ext/ice/cpp/include/Ice/ImplicitContextF.h +2 -2
  16. data/ext/ice/cpp/include/Ice/Instrumentation.h +2 -2
  17. data/ext/ice/cpp/include/Ice/InstrumentationF.h +2 -2
  18. data/ext/ice/cpp/include/Ice/LocalException.h +2 -2
  19. data/ext/ice/cpp/include/Ice/Locator.h +2 -2
  20. data/ext/ice/cpp/include/Ice/LocatorF.h +2 -2
  21. data/ext/ice/cpp/include/Ice/Logger.h +2 -2
  22. data/ext/ice/cpp/include/Ice/LoggerF.h +2 -2
  23. data/ext/ice/cpp/include/Ice/Metrics.h +7 -14
  24. data/ext/ice/cpp/include/Ice/ObjectAdapter.h +2 -2
  25. data/ext/ice/cpp/include/Ice/ObjectAdapterF.h +2 -2
  26. data/ext/ice/cpp/include/Ice/ObjectFactory.h +2 -2
  27. data/ext/ice/cpp/include/Ice/ObjectFactoryF.h +2 -2
  28. data/ext/ice/cpp/include/Ice/Plugin.h +2 -2
  29. data/ext/ice/cpp/include/Ice/PluginF.h +2 -2
  30. data/ext/ice/cpp/include/Ice/Process.h +2 -2
  31. data/ext/ice/cpp/include/Ice/ProcessF.h +2 -2
  32. data/ext/ice/cpp/include/Ice/Properties.h +2 -2
  33. data/ext/ice/cpp/include/Ice/PropertiesAdmin.h +2 -2
  34. data/ext/ice/cpp/include/Ice/PropertiesF.h +2 -2
  35. data/ext/ice/cpp/include/Ice/RegisterPlugins.h +55 -0
  36. data/ext/ice/cpp/include/Ice/RemoteLogger.h +2 -2
  37. data/ext/ice/cpp/include/Ice/Router.h +2 -2
  38. data/ext/ice/cpp/include/Ice/RouterF.h +2 -2
  39. data/ext/ice/cpp/include/Ice/ServantLocator.h +2 -2
  40. data/ext/ice/cpp/include/Ice/ServantLocatorF.h +2 -2
  41. data/ext/ice/cpp/include/Ice/SliceChecksumDict.h +2 -2
  42. data/ext/ice/cpp/include/Ice/Version.h +2 -2
  43. data/ext/ice/cpp/include/IceSSL/ConnectionInfo.h +4 -6
  44. data/ext/ice/cpp/include/IceSSL/EndpointInfo.h +3 -5
  45. data/ext/ice/cpp/include/IceUtil/Config.h +5 -5
  46. data/ext/ice/cpp/src/Ice/BuiltinSequences.cpp +2 -2
  47. data/ext/ice/cpp/src/Ice/Communicator.cpp +2 -2
  48. data/ext/ice/cpp/src/Ice/CommunicatorF.cpp +2 -2
  49. data/ext/ice/cpp/src/Ice/CommunicatorI.cpp +0 -1
  50. data/ext/ice/cpp/src/Ice/ConnectRequestHandler.cpp +12 -17
  51. data/ext/ice/cpp/src/Ice/Connection.cpp +2 -2
  52. data/ext/ice/cpp/src/Ice/ConnectionF.cpp +2 -2
  53. data/ext/ice/cpp/src/Ice/ConnectionFactory.cpp +33 -4
  54. data/ext/ice/cpp/src/Ice/ConnectionI.cpp +8 -0
  55. data/ext/ice/cpp/src/Ice/Current.cpp +2 -2
  56. data/ext/ice/cpp/src/Ice/DefaultsAndOverrides.cpp +0 -1
  57. data/ext/ice/cpp/src/Ice/DeprecatedStringConverter.cpp +2 -0
  58. data/ext/ice/cpp/src/Ice/Endpoint.cpp +2 -2
  59. data/ext/ice/cpp/src/Ice/EndpointF.cpp +2 -2
  60. data/ext/ice/cpp/src/Ice/EndpointTypes.cpp +2 -2
  61. data/ext/ice/cpp/src/Ice/FacetMap.cpp +2 -2
  62. data/ext/ice/cpp/src/Ice/HttpParser.cpp +0 -2
  63. data/ext/ice/cpp/src/Ice/Identity.cpp +2 -2
  64. data/ext/ice/cpp/src/Ice/ImplicitContext.cpp +2 -2
  65. data/ext/ice/cpp/src/Ice/ImplicitContextF.cpp +2 -2
  66. data/ext/ice/cpp/src/Ice/Initialize.cpp +25 -30
  67. data/ext/ice/cpp/src/Ice/Instance.cpp +1 -3
  68. data/ext/ice/cpp/src/Ice/Instrumentation.cpp +2 -2
  69. data/ext/ice/cpp/src/Ice/InstrumentationF.cpp +2 -2
  70. data/ext/ice/cpp/src/Ice/LocalException.cpp +2 -2
  71. data/ext/ice/cpp/src/Ice/Locator.cpp +2 -2
  72. data/ext/ice/cpp/src/Ice/LocatorF.cpp +2 -2
  73. data/ext/ice/cpp/src/Ice/LocatorInfo.cpp +6 -6
  74. data/ext/ice/cpp/src/Ice/LocatorInfo.h +9 -8
  75. data/ext/ice/cpp/src/Ice/Logger.cpp +2 -2
  76. data/ext/ice/cpp/src/Ice/LoggerF.cpp +2 -2
  77. data/ext/ice/cpp/src/Ice/Metrics.cpp +10 -2
  78. data/ext/ice/cpp/src/Ice/Network.h +10 -0
  79. data/ext/ice/cpp/src/Ice/ObjectAdapter.cpp +2 -2
  80. data/ext/ice/cpp/src/Ice/ObjectAdapterF.cpp +2 -2
  81. data/ext/ice/cpp/src/Ice/ObjectAdapterI.cpp +68 -143
  82. data/ext/ice/cpp/src/Ice/ObjectAdapterI.h +1 -2
  83. data/ext/ice/cpp/src/Ice/ObjectFactory.cpp +2 -2
  84. data/ext/ice/cpp/src/Ice/ObjectFactoryF.cpp +2 -2
  85. data/ext/ice/cpp/src/Ice/Outgoing.cpp +0 -1
  86. data/ext/ice/cpp/src/Ice/OutgoingAsync.cpp +0 -1
  87. data/ext/ice/cpp/src/Ice/Plugin.cpp +2 -2
  88. data/ext/ice/cpp/src/Ice/PluginF.cpp +2 -2
  89. data/ext/ice/cpp/src/Ice/Process.cpp +2 -2
  90. data/ext/ice/cpp/src/Ice/ProcessF.cpp +2 -2
  91. data/ext/ice/cpp/src/Ice/Properties.cpp +2 -2
  92. data/ext/ice/cpp/src/Ice/PropertiesAdmin.cpp +2 -2
  93. data/ext/ice/cpp/src/Ice/PropertiesAdminI.cpp +6 -7
  94. data/ext/ice/cpp/src/Ice/PropertiesF.cpp +2 -2
  95. data/ext/ice/cpp/src/Ice/PropertiesI.cpp +17 -18
  96. data/ext/ice/cpp/src/Ice/Reference.cpp +1 -1
  97. data/ext/ice/cpp/src/Ice/{RegisterPlugins.cpp → RegisterPluginsInit.cpp} +1 -1
  98. data/ext/ice/cpp/src/Ice/{RegisterPlugins.h → RegisterPluginsInit.h} +2 -2
  99. data/ext/ice/cpp/src/Ice/RemoteLogger.cpp +2 -2
  100. data/ext/ice/cpp/src/Ice/Router.cpp +2 -2
  101. data/ext/ice/cpp/src/Ice/RouterF.cpp +2 -2
  102. data/ext/ice/cpp/src/Ice/Selector.cpp +51 -45
  103. data/ext/ice/cpp/src/Ice/Selector.h +4 -4
  104. data/ext/ice/cpp/src/Ice/ServantLocator.cpp +2 -2
  105. data/ext/ice/cpp/src/Ice/ServantLocatorF.cpp +2 -2
  106. data/ext/ice/cpp/src/Ice/SliceChecksumDict.cpp +2 -2
  107. data/ext/ice/cpp/src/Ice/StreamSocket.cpp +7 -2
  108. data/ext/ice/cpp/src/Ice/StringConverterPlugin.cpp +15 -3
  109. data/ext/ice/cpp/src/Ice/TcpTransceiver.cpp +0 -2
  110. data/ext/ice/cpp/src/Ice/ThreadPool.cpp +46 -47
  111. data/ext/ice/cpp/src/Ice/UdpTransceiver.cpp +28 -8
  112. data/ext/ice/cpp/src/Ice/Version.cpp +2 -2
  113. data/ext/ice/cpp/src/Ice/WSTransceiver.cpp +26 -2
  114. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.cpp +2 -2
  115. data/ext/ice/cpp/src/IceDiscovery/IceDiscovery.h +2 -2
  116. data/ext/ice/cpp/src/IceDiscovery/PluginI.cpp +11 -0
  117. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.cpp +2 -2
  118. data/ext/ice/cpp/src/IceLocatorDiscovery/IceLocatorDiscovery.h +2 -2
  119. data/ext/ice/cpp/src/IceLocatorDiscovery/PluginI.cpp +11 -0
  120. data/ext/ice/cpp/src/IceSSL/ConnectionInfo.cpp +2 -2
  121. data/ext/ice/cpp/src/IceSSL/EndpointInfo.cpp +2 -2
  122. data/ext/ice/cpp/src/IceSSL/OpenSSLTransceiverI.cpp +1 -3
  123. data/ext/ice/cpp/src/IceSSL/PluginI.cpp +11 -0
  124. data/ext/ice/cpp/src/IceSSL/SChannelTransceiverI.cpp +7 -0
  125. data/ext/ice/cpp/src/IceUtil/ArgVector.cpp +0 -1
  126. data/ext/ice/cpp/src/IceUtil/Exception.cpp +2 -1
  127. data/ext/ice/cpp/src/Slice/FileTracker.cpp +3 -2
  128. data/ext/ice/cpp/src/Slice/JavaUtil.cpp +0 -1
  129. data/ext/ice/cpp/src/Slice/Parser.cpp +35 -9
  130. data/ext/ice/cpp/src/Slice/Preprocessor.cpp +10 -11
  131. data/ext/ice/cpp/src/Slice/Python.cpp +54 -36
  132. data/ext/ice/mcpp/Makefile +10 -0
  133. data/ext/ice/mcpp/Makefile.mak +23 -15
  134. data/ice.gemspec +1 -2
  135. data/lib/Glacier2/Metrics.rb +1 -1
  136. data/lib/Glacier2/PermissionsVerifier.rb +1 -1
  137. data/lib/Glacier2/PermissionsVerifierF.rb +1 -1
  138. data/lib/Glacier2/Router.rb +1 -1
  139. data/lib/Glacier2/RouterF.rb +1 -1
  140. data/lib/Glacier2/SSLInfo.rb +1 -1
  141. data/lib/Glacier2/Session.rb +1 -1
  142. data/lib/Ice.rb +1 -0
  143. data/lib/Ice/BuiltinSequences.rb +1 -1
  144. data/lib/Ice/Communicator.rb +1 -1
  145. data/lib/Ice/CommunicatorF.rb +1 -1
  146. data/lib/Ice/Connection.rb +1 -1
  147. data/lib/Ice/ConnectionF.rb +1 -1
  148. data/lib/Ice/Current.rb +1 -1
  149. data/lib/Ice/Endpoint.rb +1 -1
  150. data/lib/Ice/EndpointF.rb +1 -1
  151. data/lib/Ice/EndpointTypes.rb +1 -1
  152. data/lib/Ice/FacetMap.rb +1 -1
  153. data/lib/Ice/Identity.rb +1 -1
  154. data/lib/Ice/ImplicitContext.rb +1 -1
  155. data/lib/Ice/ImplicitContextF.rb +1 -1
  156. data/lib/Ice/Instrumentation.rb +1 -1
  157. data/lib/Ice/InstrumentationF.rb +1 -1
  158. data/lib/Ice/LocalException.rb +1 -1
  159. data/lib/Ice/Locator.rb +1 -1
  160. data/lib/Ice/LocatorF.rb +1 -1
  161. data/lib/Ice/Logger.rb +1 -1
  162. data/lib/Ice/LoggerF.rb +1 -1
  163. data/lib/Ice/Metrics.rb +1 -1
  164. data/lib/Ice/ObjectAdapterF.rb +1 -1
  165. data/lib/Ice/ObjectFactory.rb +1 -1
  166. data/lib/Ice/ObjectFactoryF.rb +1 -1
  167. data/lib/Ice/Plugin.rb +1 -1
  168. data/lib/Ice/PluginF.rb +1 -1
  169. data/lib/Ice/Process.rb +1 -1
  170. data/lib/Ice/ProcessF.rb +1 -1
  171. data/lib/Ice/Properties.rb +1 -1
  172. data/lib/Ice/PropertiesAdmin.rb +1 -1
  173. data/lib/Ice/PropertiesF.rb +1 -1
  174. data/lib/Ice/RemoteLogger.rb +292 -0
  175. data/lib/Ice/Router.rb +1 -1
  176. data/lib/Ice/RouterF.rb +1 -1
  177. data/lib/Ice/SliceChecksumDict.rb +1 -1
  178. data/lib/Ice/Version.rb +1 -1
  179. data/lib/IceBox/IceBox.rb +1 -1
  180. data/lib/IceGrid/Admin.rb +1 -1
  181. data/lib/IceGrid/Descriptor.rb +1 -1
  182. data/lib/IceGrid/Exception.rb +1 -1
  183. data/lib/IceGrid/FileParser.rb +1 -1
  184. data/lib/IceGrid/Locator.rb +1 -1
  185. data/lib/IceGrid/Observer.rb +1 -1
  186. data/lib/IceGrid/Query.rb +1 -1
  187. data/lib/IceGrid/Registry.rb +1 -1
  188. data/lib/IceGrid/Session.rb +1 -1
  189. data/lib/IceGrid/UserAccountMapper.rb +1 -1
  190. data/lib/IcePatch2/FileInfo.rb +1 -1
  191. data/lib/IcePatch2/FileServer.rb +1 -1
  192. data/lib/IceStorm/IceStorm.rb +1 -1
  193. data/lib/IceStorm/Metrics.rb +1 -1
  194. data/slice/IceLocatorDiscovery/IceLocatorDiscovery.ice +4 -0
  195. metadata +6 -4
@@ -151,6 +151,16 @@ enum SocketOperation
151
151
  #endif
152
152
  };
153
153
 
154
+ //
155
+ // On WinRT, wait only for read to return, on IOCP/Win32 wait for
156
+ // both pending read and write operations to complete (#ICE-6695).
157
+ //
158
+ #if defined(ICE_OS_WINRT)
159
+ const int SocketOperationWaitForClose = 1;
160
+ #elif defined(ICE_USE_IOCP)
161
+ const int SocketOperationWaitForClose = 3;
162
+ #endif
163
+
154
164
  //
155
165
  // AsyncInfo struct for Windows IOCP or WinRT holds the result of
156
166
  // asynchronous operations after it completed.
@@ -7,7 +7,7 @@
7
7
  //
8
8
  // **********************************************************************
9
9
  //
10
- // Ice version 3.6.0
10
+ // Ice version 3.6.1
11
11
  //
12
12
  // <auto-generated>
13
13
  //
@@ -34,7 +34,7 @@
34
34
  # if ICE_INT_VERSION % 100 > 50
35
35
  # error Beta header file detected
36
36
  # endif
37
- # if ICE_INT_VERSION % 100 < 0
37
+ # if ICE_INT_VERSION % 100 < 1
38
38
  # error Ice patch level mismatch!
39
39
  # endif
40
40
  #endif
@@ -7,7 +7,7 @@
7
7
  //
8
8
  // **********************************************************************
9
9
  //
10
- // Ice version 3.6.0
10
+ // Ice version 3.6.1
11
11
  //
12
12
  // <auto-generated>
13
13
  //
@@ -33,7 +33,7 @@
33
33
  # if ICE_INT_VERSION % 100 > 50
34
34
  # error Beta header file detected
35
35
  # endif
36
- # if ICE_INT_VERSION % 100 < 0
36
+ # if ICE_INT_VERSION % 100 < 1
37
37
  # error Ice patch level mismatch!
38
38
  # endif
39
39
  #endif
@@ -82,7 +82,6 @@ void
82
82
  Ice::ObjectAdapterI::activate()
83
83
  {
84
84
  LocatorInfoPtr locatorInfo;
85
- bool registerProcess = false;
86
85
  bool printAdapterReady = false;
87
86
 
88
87
  {
@@ -115,7 +114,6 @@ Ice::ObjectAdapterI::activate()
115
114
  {
116
115
  PropertiesPtr properties = _instance->initializationData().properties;
117
116
  printAdapterReady = properties->getPropertyAsInt("Ice.PrintAdapterReady") > 0;
118
- registerProcess = properties->getPropertyAsInt(_name + ".RegisterProcess") > 0;
119
117
  }
120
118
  }
121
119
 
@@ -123,7 +121,7 @@ Ice::ObjectAdapterI::activate()
123
121
  {
124
122
  Ice::Identity dummy;
125
123
  dummy.name = "dummy";
126
- updateLocatorRegistry(locatorInfo, createDirectProxy(dummy), registerProcess);
124
+ updateLocatorRegistry(locatorInfo, createDirectProxy(dummy));
127
125
  }
128
126
  catch(const Ice::LocalException&)
129
127
  {
@@ -227,7 +225,7 @@ Ice::ObjectAdapterI::deactivate()
227
225
 
228
226
  try
229
227
  {
230
- updateLocatorRegistry(_locatorInfo, 0, false);
228
+ updateLocatorRegistry(_locatorInfo, 0);
231
229
  }
232
230
  catch(const Ice::LocalException&)
233
231
  {
@@ -599,7 +597,6 @@ void
599
597
  Ice::ObjectAdapterI::refreshPublishedEndpoints()
600
598
  {
601
599
  LocatorInfoPtr locatorInfo;
602
- bool registerProcess = false;
603
600
  vector<EndpointIPtr> oldPublishedEndpoints;
604
601
 
605
602
  {
@@ -611,18 +608,13 @@ Ice::ObjectAdapterI::refreshPublishedEndpoints()
611
608
  _publishedEndpoints = parsePublishedEndpoints();
612
609
 
613
610
  locatorInfo = _locatorInfo;
614
- if(!_noConfig)
615
- {
616
- registerProcess =
617
- _instance->initializationData().properties->getPropertyAsInt(_name + ".RegisterProcess") > 0;
618
- }
619
611
  }
620
612
 
621
613
  try
622
614
  {
623
615
  Ice::Identity dummy;
624
616
  dummy.name = "dummy";
625
- updateLocatorRegistry(locatorInfo, createDirectProxy(dummy), registerProcess);
617
+ updateLocatorRegistry(locatorInfo, createDirectProxy(dummy));
626
618
  }
627
619
  catch(const Ice::LocalException&)
628
620
  {
@@ -1246,169 +1238,103 @@ ObjectAdapterI::parsePublishedEndpoints()
1246
1238
  }
1247
1239
 
1248
1240
  void
1249
- ObjectAdapterI::updateLocatorRegistry(const IceInternal::LocatorInfoPtr& locatorInfo,
1250
- const Ice::ObjectPrx& proxy,
1251
- bool registerProcess)
1241
+ ObjectAdapterI::updateLocatorRegistry(const IceInternal::LocatorInfoPtr& locatorInfo, const Ice::ObjectPrx& proxy)
1252
1242
  {
1253
- if(!registerProcess && _id.empty())
1243
+ if(_id.empty() || !locatorInfo)
1254
1244
  {
1255
1245
  return; // Nothing to update.
1256
1246
  }
1257
1247
 
1258
- //
1259
- // Call on the locator registry outside the synchronization to
1260
- // blocking other threads that need to lock this OA.
1261
- //
1262
- LocatorRegistryPrx locatorRegistry = locatorInfo ? locatorInfo->getLocatorRegistry() : LocatorRegistryPrx();
1263
- string serverId;
1264
- if(registerProcess)
1265
- {
1266
- assert(_instance);
1267
- serverId = _instance->initializationData().properties->getProperty("Ice.ServerId");
1268
-
1269
- if(!locatorRegistry)
1270
- {
1271
- Warning out(_instance->initializationData().logger);
1272
- out << "object adapter `" << getName() << "' cannot register the process without a locator registry";
1273
- }
1274
- else if(serverId.empty())
1275
- {
1276
- Warning out(_instance->initializationData().logger);
1277
- out << "object adapter `" << getName() << "' cannot register the process without a value for Ice.ServerId";
1278
- }
1279
- }
1280
-
1248
+ LocatorRegistryPrx locatorRegistry = locatorInfo->getLocatorRegistry();
1281
1249
  if(!locatorRegistry)
1282
1250
  {
1283
1251
  return;
1284
1252
  }
1285
1253
 
1286
- if(!_id.empty())
1254
+ try
1287
1255
  {
1288
- try
1256
+ if(_replicaGroupId.empty())
1289
1257
  {
1290
- if(_replicaGroupId.empty())
1291
- {
1292
- locatorRegistry->setAdapterDirectProxy(_id, proxy);
1293
- }
1294
- else
1295
- {
1296
- locatorRegistry->setReplicatedAdapterDirectProxy(_id, _replicaGroupId, proxy);
1297
- }
1258
+ locatorRegistry->setAdapterDirectProxy(_id, proxy);
1298
1259
  }
1299
- catch(const AdapterNotFoundException&)
1300
- {
1301
- if(_instance->traceLevels()->location >= 1)
1302
- {
1303
- Trace out(_instance->initializationData().logger, _instance->traceLevels()->locationCat);
1304
- out << "couldn't update object adapter `" + _id + "' endpoints with the locator registry:\n";
1305
- out << "the object adapter is not known to the locator registry";
1306
- }
1307
-
1308
- NotRegisteredException ex(__FILE__, __LINE__);
1309
- ex.kindOfObject = "object adapter";
1310
- ex.id = _id;
1311
- throw ex;
1312
- }
1313
- catch(const InvalidReplicaGroupIdException&)
1314
- {
1315
- if(_instance->traceLevels()->location >= 1)
1316
- {
1317
- Trace out(_instance->initializationData().logger, _instance->traceLevels()->locationCat);
1318
- out << "couldn't update object adapter `" + _id + "' endpoints with the locator registry:\n";
1319
- out << "the replica group `" << _replicaGroupId << "' is not known to the locator registry";
1320
- }
1321
-
1322
- NotRegisteredException ex(__FILE__, __LINE__);
1323
- ex.kindOfObject = "replica group";
1324
- ex.id = _replicaGroupId;
1325
- throw ex;
1326
- }
1327
- catch(const AdapterAlreadyActiveException&)
1328
- {
1329
- if(_instance->traceLevels()->location >= 1)
1330
- {
1331
- Trace out(_instance->initializationData().logger, _instance->traceLevels()->locationCat);
1332
- out << "couldn't update object adapter `" + _id + "' endpoints with the locator registry:\n";
1333
- out << "the object adapter endpoints are already set";
1334
- }
1335
-
1336
- ObjectAdapterIdInUseException ex(__FILE__, __LINE__);
1337
- ex.id = _id;
1338
- throw ex;
1339
- }
1340
- catch(const LocalException& ex)
1260
+ else
1341
1261
  {
1342
- if(_instance->traceLevels()->location >= 1)
1343
- {
1344
- Trace out(_instance->initializationData().logger, _instance->traceLevels()->locationCat);
1345
- out << "couldn't update object adapter `" + _id + "' endpoints with the locator registry:\n" << ex;
1346
- }
1347
- throw; // TODO: Shall we raise a special exception instead of a non obvious local exception?
1262
+ locatorRegistry->setReplicatedAdapterDirectProxy(_id, _replicaGroupId, proxy);
1348
1263
  }
1349
-
1264
+ }
1265
+ catch(const AdapterNotFoundException&)
1266
+ {
1350
1267
  if(_instance->traceLevels()->location >= 1)
1351
1268
  {
1352
1269
  Trace out(_instance->initializationData().logger, _instance->traceLevels()->locationCat);
1353
- out << "updated object adapter `" + _id + "' endpoints with the locator registry\n";
1354
- out << "endpoints = ";
1355
- if(proxy)
1356
- {
1357
- EndpointSeq endpts = proxy ? proxy->ice_getEndpoints() : EndpointSeq();
1358
- ostringstream o;
1359
- transform(endpts.begin(), endpts.end(), ostream_iterator<string>(o, endpts.size() > 1 ? ":" : ""),
1360
- Ice::constMemFun(&Endpoint::toString));
1361
- out << o.str();
1362
- }
1270
+ out << "couldn't update object adapter `" + _id + "' endpoints with the locator registry:\n";
1271
+ out << "the object adapter is not known to the locator registry";
1363
1272
  }
1364
- }
1365
1273
 
1366
- if(registerProcess && !serverId.empty())
1274
+ NotRegisteredException ex(__FILE__, __LINE__);
1275
+ ex.kindOfObject = "object adapter";
1276
+ ex.id = _id;
1277
+ throw ex;
1278
+ }
1279
+ catch(const InvalidReplicaGroupIdException&)
1367
1280
  {
1281
+ if(_instance->traceLevels()->location >= 1)
1368
1282
  {
1369
- IceUtil::Monitor<IceUtil::RecMutex>::Lock sync(*this);
1370
-
1371
- if(_processId.name == "")
1372
- {
1373
- ProcessPtr servant = new ProcessI(_communicator);
1374
- _processId = addWithUUID(servant)->ice_getIdentity();
1375
- }
1283
+ Trace out(_instance->initializationData().logger, _instance->traceLevels()->locationCat);
1284
+ out << "couldn't update object adapter `" + _id + "' endpoints with the locator registry:\n";
1285
+ out << "the replica group `" << _replicaGroupId << "' is not known to the locator registry";
1376
1286
  }
1377
1287
 
1378
- try
1288
+ NotRegisteredException ex(__FILE__, __LINE__);
1289
+ ex.kindOfObject = "replica group";
1290
+ ex.id = _replicaGroupId;
1291
+ throw ex;
1292
+ }
1293
+ catch(const AdapterAlreadyActiveException&)
1294
+ {
1295
+ if(_instance->traceLevels()->location >= 1)
1379
1296
  {
1380
- locatorRegistry->setServerProcessProxy(serverId, ProcessPrx::uncheckedCast(createDirectProxy(_processId)));
1297
+ Trace out(_instance->initializationData().logger, _instance->traceLevels()->locationCat);
1298
+ out << "couldn't update object adapter `" + _id + "' endpoints with the locator registry:\n";
1299
+ out << "the object adapter endpoints are already set";
1381
1300
  }
1382
- catch(const ServerNotFoundException&)
1383
- {
1384
- if(_instance->traceLevels()->location >= 1)
1385
- {
1386
- Trace out(_instance->initializationData().logger, _instance->traceLevels()->locationCat);
1387
- out << "couldn't register server `" + serverId + "' with the locator registry:\n";
1388
- out << "the server is not known to the locator registry";
1389
- }
1390
1301
 
1391
- NotRegisteredException ex(__FILE__, __LINE__);
1392
- ex.kindOfObject = "server";
1393
- ex.id = serverId;
1394
- throw ex;
1395
- }
1396
- catch(const Ice::LocalException& ex)
1302
+ ObjectAdapterIdInUseException ex(__FILE__, __LINE__);
1303
+ ex.id = _id;
1304
+ throw ex;
1305
+ }
1306
+ catch(const ObjectAdapterDeactivatedException&)
1307
+ {
1308
+ // Expected if collocated call and OA is deactivated, ignore.
1309
+ }
1310
+ catch(const CommunicatorDestroyedException&)
1311
+ {
1312
+ // Ignore.
1313
+ }
1314
+ catch(const LocalException& ex)
1315
+ {
1316
+ if(_instance->traceLevels()->location >= 1)
1397
1317
  {
1398
- if(_instance->traceLevels()->location >= 1)
1399
- {
1400
- Trace out(_instance->initializationData().logger, _instance->traceLevels()->locationCat);
1401
- out << "couldn't register server `" + serverId + "' with the locator registry:\n" << ex;
1402
- }
1403
- throw; // TODO: Shall we raise a special exception instead of a non obvious local exception?
1318
+ Trace out(_instance->initializationData().logger, _instance->traceLevels()->locationCat);
1319
+ out << "couldn't update object adapter `" + _id + "' endpoints with the locator registry:\n" << ex;
1404
1320
  }
1321
+ throw; // TODO: Shall we raise a special exception instead of a non obvious local exception?
1322
+ }
1405
1323
 
1406
- if(_instance->traceLevels()->location >= 1)
1324
+ if(_instance->traceLevels()->location >= 1)
1325
+ {
1326
+ Trace out(_instance->initializationData().logger, _instance->traceLevels()->locationCat);
1327
+ out << "updated object adapter `" + _id + "' endpoints with the locator registry\n";
1328
+ out << "endpoints = ";
1329
+ if(proxy)
1407
1330
  {
1408
- Trace out(_instance->initializationData().logger, _instance->traceLevels()->locationCat);
1409
- out << "registered server `" + serverId + "' with the locator registry";
1331
+ EndpointSeq endpts = proxy ? proxy->ice_getEndpoints() : EndpointSeq();
1332
+ ostringstream o;
1333
+ transform(endpts.begin(), endpts.end(), ostream_iterator<string>(o, endpts.size() > 1 ? ":" : ""),
1334
+ Ice::constMemFun(&Endpoint::toString));
1335
+ out << o.str();
1410
1336
  }
1411
- }
1337
+ }
1412
1338
  }
1413
1339
 
1414
1340
  bool
@@ -1431,7 +1357,6 @@ Ice::ObjectAdapterI::filterProperties(StringSeq& unknownProps)
1431
1357
  "Locator.Router",
1432
1358
  "MessageSizeMax",
1433
1359
  "PublishedEndpoints",
1434
- "RegisterProcess",
1435
1360
  "ReplicaGroupId",
1436
1361
  "Router",
1437
1362
  "Router.EncodingVersion",
@@ -114,7 +114,7 @@ private:
114
114
  void checkForDeactivation() const;
115
115
  std::vector<IceInternal::EndpointIPtr> parseEndpoints(const std::string&, bool) const;
116
116
  std::vector<IceInternal::EndpointIPtr> parsePublishedEndpoints();
117
- void updateLocatorRegistry(const IceInternal::LocatorInfoPtr&, const Ice::ObjectPrx&, bool);
117
+ void updateLocatorRegistry(const IceInternal::LocatorInfoPtr&, const Ice::ObjectPrx&);
118
118
  bool filterProperties(Ice::StringSeq&);
119
119
 
120
120
  enum State
@@ -146,7 +146,6 @@ private:
146
146
  IceInternal::LocatorInfoPtr _locatorInfo;
147
147
  int _directCount; // The number of direct proxies dispatching on this object adapter.
148
148
  bool _noConfig;
149
- Identity _processId;
150
149
  size_t _messageSizeMax;
151
150
  };
152
151
 
@@ -7,7 +7,7 @@
7
7
  //
8
8
  // **********************************************************************
9
9
  //
10
- // Ice version 3.6.0
10
+ // Ice version 3.6.1
11
11
  //
12
12
  // <auto-generated>
13
13
  //
@@ -34,7 +34,7 @@
34
34
  # if ICE_INT_VERSION % 100 > 50
35
35
  # error Beta header file detected
36
36
  # endif
37
- # if ICE_INT_VERSION % 100 < 0
37
+ # if ICE_INT_VERSION % 100 < 1
38
38
  # error Ice patch level mismatch!
39
39
  # endif
40
40
  #endif
@@ -7,7 +7,7 @@
7
7
  //
8
8
  // **********************************************************************
9
9
  //
10
- // Ice version 3.6.0
10
+ // Ice version 3.6.1
11
11
  //
12
12
  // <auto-generated>
13
13
  //
@@ -33,7 +33,7 @@
33
33
  # if ICE_INT_VERSION % 100 > 50
34
34
  # error Beta header file detected
35
35
  # endif
36
- # if ICE_INT_VERSION % 100 < 0
36
+ # if ICE_INT_VERSION % 100 < 1
37
37
  # error Ice patch level mismatch!
38
38
  # endif
39
39
  #endif
@@ -7,7 +7,6 @@
7
7
  //
8
8
  // **********************************************************************
9
9
 
10
- #include <IceUtil/DisableWarnings.h>
11
10
  #include <Ice/Outgoing.h>
12
11
  #include <Ice/ConnectionI.h>
13
12
  #include <Ice/CollocatedRequestHandler.h>
@@ -7,7 +7,6 @@
7
7
  //
8
8
  // **********************************************************************
9
9
 
10
- #include <IceUtil/DisableWarnings.h>
11
10
  #include <Ice/OutgoingAsync.h>
12
11
  #include <Ice/ConnectionI.h>
13
12
  #include <Ice/CollocatedRequestHandler.h>
@@ -7,7 +7,7 @@
7
7
  //
8
8
  // **********************************************************************
9
9
  //
10
- // Ice version 3.6.0
10
+ // Ice version 3.6.1
11
11
  //
12
12
  // <auto-generated>
13
13
  //
@@ -34,7 +34,7 @@
34
34
  # if ICE_INT_VERSION % 100 > 50
35
35
  # error Beta header file detected
36
36
  # endif
37
- # if ICE_INT_VERSION % 100 < 0
37
+ # if ICE_INT_VERSION % 100 < 1
38
38
  # error Ice patch level mismatch!
39
39
  # endif
40
40
  #endif
@@ -7,7 +7,7 @@
7
7
  //
8
8
  // **********************************************************************
9
9
  //
10
- // Ice version 3.6.0
10
+ // Ice version 3.6.1
11
11
  //
12
12
  // <auto-generated>
13
13
  //
@@ -33,7 +33,7 @@
33
33
  # if ICE_INT_VERSION % 100 > 50
34
34
  # error Beta header file detected
35
35
  # endif
36
- # if ICE_INT_VERSION % 100 < 0
36
+ # if ICE_INT_VERSION % 100 < 1
37
37
  # error Ice patch level mismatch!
38
38
  # endif
39
39
  #endif