Date: Wednesday, August 30, 2006 @ 09:37:12
Author: gilles
Path: /cvsroot/carob/carob
Modified: include/ControllerPinger.hpp (1.2 -> 1.3) src/Connection.cpp
(1.88 -> 1.89) src/ControllerPinger.cpp (1.2 -> 1.3)
src/ControllerPool.cpp (1.6 -> 1.7)
test/10-Connection/TestControllerPool.cpp (1.3 -> 1.4)
Controller pinger instance is now returned as a ref (pointers are evil:))
-------------------------------------------+
include/ControllerPinger.hpp | 2 +-
src/Connection.cpp | 9 ++++-----
src/ControllerPinger.cpp | 4 ++--
src/ControllerPool.cpp | 2 +-
test/10-Connection/TestControllerPool.cpp | 18 +++++++++---------
5 files changed, 17 insertions(+), 18 deletions(-)
Index: carob/include/ControllerPinger.hpp
diff -u carob/include/ControllerPinger.hpp:1.2
carob/include/ControllerPinger.hpp:1.3
--- carob/include/ControllerPinger.hpp:1.2 Mon Aug 28 16:28:10 2006
+++ carob/include/ControllerPinger.hpp Wed Aug 30 09:37:12 2006
@@ -41,7 +41,7 @@
* Singleton-access function: retrieves the existing or newly created
instance
* of the ControllerPinger
*/
- static ControllerPinger* getInstancePtr();
+ static ControllerPinger& getInstance();
/**
* Adds the given controller to the list of suspects.<br>
* The given controllerInfo argument will be *copied* in the suspected
Index: carob/src/Connection.cpp
diff -u carob/src/Connection.cpp:1.88 carob/src/Connection.cpp:1.89
--- carob/src/Connection.cpp:1.88 Tue Aug 29 22:00:42 2006
+++ carob/src/Connection.cpp Wed Aug 30 09:37:12 2006
@@ -106,14 +106,14 @@
//Do some clean up
delete driverSocketPtr; driverSocketPtr = NULL;
//suspect failing controller and try next one
-
ControllerPinger::getInstancePtr()->suspectControllerOfFailure(connected_controller);
+
ControllerPinger::getInstance().suspectControllerOfFailure(connected_controller);
}
catch (ConnectionException ce)
{
//Do some clean up
delete driverSocketPtr; driverSocketPtr = NULL;
//suspect failing controller and try next one
-
ControllerPinger::getInstancePtr()->suspectControllerOfFailure(connected_controller);
+
ControllerPinger::getInstance().suspectControllerOfFailure(connected_controller);
}
catch (NoMoreControllerException nmce)
{
@@ -1250,7 +1250,7 @@
// try to reconnect to the same controller if it has never been suspected of
// failure before
- if
(!ControllerPinger::getInstancePtr()->isSuspectedOfFailure(connected_controller))
+ if
(!ControllerPinger::getInstance().isSuspectedOfFailure(connected_controller))
{
try
{
@@ -1270,7 +1270,7 @@
if (isDebugEnabled())
logDebug(fctName, L"Controller " +
static_cast<wstring>(connected_controller)
+ L" is still not responding, suspecting it of failure");
-
ControllerPinger::getInstancePtr()->suspectControllerOfFailure(connected_controller);
+
ControllerPinger::getInstance().suspectControllerOfFailure(connected_controller);
try
{
if (isDebugEnabled())
@@ -1323,4 +1323,3 @@
+ sioe.description()));
}
}
-
Index: carob/src/ControllerPinger.cpp
diff -u carob/src/ControllerPinger.cpp:1.2 carob/src/ControllerPinger.cpp:1.3
--- carob/src/ControllerPinger.cpp:1.2 Mon Aug 28 16:28:10 2006
+++ carob/src/ControllerPinger.cpp Wed Aug 30 09:37:12 2006
@@ -67,11 +67,11 @@
ControllerPinger* ControllerPinger::unique_instance_ptr = NULL;
/* static */
-ControllerPinger* ControllerPinger::getInstancePtr()
+ControllerPinger& ControllerPinger::getInstance()
{
if (unique_instance_ptr == NULL)
unique_instance_ptr = new ControllerPinger();
- return unique_instance_ptr;
+ return *unique_instance_ptr;
}
void ControllerPinger::suspectControllerOfFailure(
Index: carob/src/ControllerPool.cpp
diff -u carob/src/ControllerPool.cpp:1.6 carob/src/ControllerPool.cpp:1.7
--- carob/src/ControllerPool.cpp:1.6 Fri Aug 25 19:56:56 2006
+++ carob/src/ControllerPool.cpp Wed Aug 30 09:37:12 2006
@@ -120,7 +120,7 @@
{
index = (index + 1) % controller_list.size();
lastTestedControllerWasSuspect =
-
ControllerPinger::getInstancePtr()->isSuspectedOfFailure(controller_list[index]);
+
ControllerPinger::getInstance().isSuspectedOfFailure(controller_list[index]);
testedControllers++;
}
while (lastTestedControllerWasSuspect
Index: carob/test/10-Connection/TestControllerPool.cpp
diff -u carob/test/10-Connection/TestControllerPool.cpp:1.3
carob/test/10-Connection/TestControllerPool.cpp:1.4
--- carob/test/10-Connection/TestControllerPool.cpp:1.3 Fri Aug 25 19:56:56 2006
+++ carob/test/10-Connection/TestControllerPool.cpp Wed Aug 30 09:37:11 2006
@@ -63,8 +63,8 @@
RoundRobinControllerPool cp(v);
CPPUNIT_ASSERT(cp.getController() == c1);
- ControllerPinger::getInstancePtr()->suspectControllerOfFailure(c2);
- ControllerPinger::getInstancePtr()->suspectControllerOfFailure(c4);
+ ControllerPinger::getInstance().suspectControllerOfFailure(c2);
+ ControllerPinger::getInstance().suspectControllerOfFailure(c4);
CPPUNIT_ASSERT(cp.getController() == c3);
CPPUNIT_ASSERT(cp.getController() == c1);
}
@@ -85,10 +85,10 @@
v.push_back(c4);
RoundRobinControllerPool cp(v);
- ControllerPinger::getInstancePtr()->suspectControllerOfFailure(c1);
- ControllerPinger::getInstancePtr()->suspectControllerOfFailure(c2);
- ControllerPinger::getInstancePtr()->suspectControllerOfFailure(c3);
- ControllerPinger::getInstancePtr()->suspectControllerOfFailure(c4);
+ ControllerPinger::getInstance().suspectControllerOfFailure(c1);
+ ControllerPinger::getInstance().suspectControllerOfFailure(c2);
+ ControllerPinger::getInstance().suspectControllerOfFailure(c3);
+ ControllerPinger::getInstance().suspectControllerOfFailure(c4);
try
{
@@ -124,11 +124,11 @@
v.push_back(c4);
RoundRobinControllerPool cp(v);
- ControllerPinger::getInstancePtr()->suspectControllerOfFailure(c1);
- ControllerPinger::getInstancePtr()->suspectControllerOfFailure(c2);
+ ControllerPinger::getInstance().suspectControllerOfFailure(c1);
+ ControllerPinger::getInstance().suspectControllerOfFailure(c2);
CPPUNIT_ASSERT(cp.getController() == c3);
CPPUNIT_ASSERT(cp.getController() == c4);
- ControllerPinger::getInstancePtr()->run();
+ ControllerPinger::getInstance().run();
CPPUNIT_ASSERT(cp.getController() == c1);
CPPUNIT_ASSERT(cp.getController() == c2);
}
_______________________________________________
Carob-commits mailing list
[email protected]
https://forge.continuent.org/mailman/listinfo/carob-commits