summaryrefslogtreecommitdiff
path: root/cpp
diff options
context:
space:
mode:
authorMarc Laukien <marc@zeroc.com>2001-09-22 06:38:31 +0000
committerMarc Laukien <marc@zeroc.com>2001-09-22 06:38:31 +0000
commit28a98e98bcea5139c921c214ecc3cc23e05bbbc2 (patch)
treea4a20b4bdb88cb95e6bf1d354b5765bf38b825d2 /cpp
parentmany changes (diff)
downloadice-28a98e98bcea5139c921c214ecc3cc23e05bbbc2.tar.bz2
ice-28a98e98bcea5139c921c214ecc3cc23e05bbbc2.tar.xz
ice-28a98e98bcea5139c921c214ecc3cc23e05bbbc2.zip
more and more freeze change
Diffstat (limited to 'cpp')
-rw-r--r--cpp/demo/Freeze/phonebook/.depend2
-rw-r--r--cpp/demo/Freeze/phonebook/Server.cpp14
-rw-r--r--cpp/slice/Freeze/DB.ice37
-rw-r--r--cpp/src/Freeze/DBI.cpp54
-rw-r--r--cpp/src/Freeze/DBI.h2
-rw-r--r--cpp/src/Freeze/EvictorI.cpp14
-rw-r--r--cpp/src/slice2freeze/.depend4
7 files changed, 38 insertions, 89 deletions
diff --git a/cpp/demo/Freeze/phonebook/.depend b/cpp/demo/Freeze/phonebook/.depend
index 902b1044fa0..5e8ff59cb7c 100644
--- a/cpp/demo/Freeze/phonebook/.depend
+++ b/cpp/demo/Freeze/phonebook/.depend
@@ -4,6 +4,6 @@ Scanner.o: Scanner.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Communica
Parser.o: Parser.cpp ../../../include/Ice/Ice.h ../../../include/Ice/Communicator.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/Config.h ../../../include/IceUtil/Config.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Native.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/LoggerF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/PicklerF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/ServantFactoryF.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/ServantFactory.h ../../../include/Ice/Pickler.h ../../../include/Ice/Initialize.h ../../../include/Ice/InstanceF.h Parser.h PhoneBook.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/EmitterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/Ice/Stream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Incoming.h
Client.o: Client.cpp Parser.h ../../../include/IceUtil/Handle.h ../../../include/IceUtil/Config.h ../../../include/Ice/Ice.h ../../../include/Ice/Communicator.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/Config.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Handle.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Native.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/LoggerF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/PicklerF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/ServantFactoryF.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/ServantFactory.h ../../../include/Ice/Pickler.h ../../../include/Ice/Initialize.h ../../../include/Ice/InstanceF.h PhoneBook.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/EmitterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/Ice/Stream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Incoming.h
PhoneBookI.o: PhoneBookI.cpp PhoneBookI.h ../../../include/Ice/Ice.h ../../../include/Ice/Communicator.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/Config.h ../../../include/IceUtil/Config.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Native.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/LoggerF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/PicklerF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/ServantFactoryF.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/ServantFactory.h ../../../include/Ice/Pickler.h ../../../include/Ice/Initialize.h ../../../include/Ice/InstanceF.h ../../../include/IceUtil/IceUtil.h ../../../include/IceUtil/Functional.h ../../../include/Freeze/Freeze.h ../../../include/Freeze/Initialize.h ../../../include/Freeze/DBF.h ../../../include/Freeze/DB.h ../../../include/Freeze/EvictorF.h ../../../include/Freeze/Evictor.h PhoneBook.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/EmitterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/Ice/Stream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Incoming.h NameIdentitiesDict.h
-NameIdentitiesDict.o: NameIdentitiesDict.cpp NameIdentitiesDict.h ../../../include/Freeze/DB.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/Config.h ../../../include/IceUtil/Config.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Native.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Freeze/EvictorF.h
+NameIdentitiesDict.o: NameIdentitiesDict.cpp NameIdentitiesDict.h ../../../include/Freeze/DB.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/Config.h ../../../include/IceUtil/Config.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Native.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Freeze/DBF.h ../../../include/Freeze/EvictorF.h
ServantFactory.o: ServantFactory.cpp ServantFactory.h PhoneBookI.h ../../../include/Ice/Ice.h ../../../include/Ice/Communicator.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/Config.h ../../../include/IceUtil/Config.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Native.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/LoggerF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/PicklerF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/ServantFactoryF.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/ServantFactory.h ../../../include/Ice/Pickler.h ../../../include/Ice/Initialize.h ../../../include/Ice/InstanceF.h ../../../include/IceUtil/IceUtil.h ../../../include/IceUtil/Functional.h ../../../include/Freeze/Freeze.h ../../../include/Freeze/Initialize.h ../../../include/Freeze/DBF.h ../../../include/Freeze/DB.h ../../../include/Freeze/EvictorF.h ../../../include/Freeze/Evictor.h PhoneBook.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/EmitterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/Ice/Stream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Incoming.h NameIdentitiesDict.h
Server.o: Server.cpp ServantFactory.h PhoneBookI.h ../../../include/Ice/Ice.h ../../../include/Ice/Communicator.h ../../../include/Ice/ProxyF.h ../../../include/Ice/ProxyHandle.h ../../../include/Ice/Config.h ../../../include/IceUtil/Config.h ../../../include/Ice/ObjectF.h ../../../include/Ice/Handle.h ../../../include/IceUtil/Handle.h ../../../include/Ice/LocalObjectF.h ../../../include/Ice/Native.h ../../../include/Ice/LocalObject.h ../../../include/IceUtil/Shared.h ../../../include/Ice/LoggerF.h ../../../include/Ice/ObjectAdapterF.h ../../../include/Ice/PicklerF.h ../../../include/Ice/PropertiesF.h ../../../include/Ice/ServantFactoryF.h ../../../include/Ice/ObjectAdapter.h ../../../include/Ice/CommunicatorF.h ../../../include/Ice/LocalException.h ../../../include/Ice/Properties.h ../../../include/Ice/Logger.h ../../../include/Ice/ServantFactory.h ../../../include/Ice/Pickler.h ../../../include/Ice/Initialize.h ../../../include/Ice/InstanceF.h ../../../include/IceUtil/IceUtil.h ../../../include/IceUtil/Functional.h ../../../include/Freeze/Freeze.h ../../../include/Freeze/Initialize.h ../../../include/Freeze/DBF.h ../../../include/Freeze/DB.h ../../../include/Freeze/EvictorF.h ../../../include/Freeze/Evictor.h PhoneBook.h ../../../include/Ice/Proxy.h ../../../include/Ice/ProxyFactoryF.h ../../../include/Ice/EmitterF.h ../../../include/Ice/ReferenceF.h ../../../include/Ice/Object.h ../../../include/Ice/Outgoing.h ../../../include/Ice/Stream.h ../../../include/Ice/Buffer.h ../../../include/Ice/Incoming.h NameIdentitiesDict.h
diff --git a/cpp/demo/Freeze/phonebook/Server.cpp b/cpp/demo/Freeze/phonebook/Server.cpp
index 32148cc4219..0b7838de504 100644
--- a/cpp/demo/Freeze/phonebook/Server.cpp
+++ b/cpp/demo/Freeze/phonebook/Server.cpp
@@ -81,7 +81,7 @@ using namespace Freeze;
using namespace std;
int
-run(int argc, char* argv[], const DBEnvPtr& dbenv)
+run(int argc, char* argv[], const DBEnvironmentPtr& dbEnv)
{
cout << "starting up..." << endl;
ignoreInterrupt();
@@ -92,7 +92,7 @@ run(int argc, char* argv[], const DBEnvPtr& dbenv)
//
// Open the phonebook database.
//
- DBPtr db = dbenv->openDB("phonebook");
+ DBPtr db = dbEnv->openDB("phonebook");
//
// Create an Evictor.
@@ -148,14 +148,14 @@ int
main(int argc, char* argv[])
{
int status;
- DBEnvPtr dbenv;
+ DBEnvironmentPtr dbEnv;
try
{
PropertiesPtr properties = createPropertiesFromFile(argc, argv, "config");
communicator = Ice::initializeWithProperties(properties);
- dbenv = Freeze::initialize(communicator, "db");
- status = run(argc, argv, dbenv);
+ dbEnv = Freeze::initialize(communicator, "db");
+ status = run(argc, argv, dbEnv);
}
catch(const LocalException& ex)
{
@@ -168,11 +168,11 @@ main(int argc, char* argv[])
status = EXIT_FAILURE;
}
- if (dbenv)
+ if (dbEnv)
{
try
{
- dbenv->close();
+ dbEnv->close();
}
catch(const LocalException& ex)
{
diff --git a/cpp/slice/Freeze/DB.ice b/cpp/slice/Freeze/DB.ice
index 3a5d5d2e629..daa249410e5 100644
--- a/cpp/slice/Freeze/DB.ice
+++ b/cpp/slice/Freeze/DB.ice
@@ -46,7 +46,6 @@ struct DBException
* @see DBException
* @see DBTransaction
* @see DB
- * @see DBForServants
*
**/
local interface DBEnvironment
@@ -62,9 +61,9 @@ local interface DBEnvironment
/**
*
- * Open and return a basic key/value database object. If the
- * database has been opened before, the previously returned
- * database object is returned again.
+ * Open and return a database object. If the database has been
+ * opened before, the previously returned database object is
+ * returned again.
*
* @param name The database name.
*
@@ -78,22 +77,6 @@ local interface DBEnvironment
/**
*
- * Open and return a databae for identity/Servant pairs. If the
- * database has been opened before, the previously returned
- * database object is returned again.
- *
- * @param name The database name.
- *
- * @return The database object.
- *
- * @see DBForServant
- * @see DBForServant::close
- *
- **/
- DB openDBForServant(string name) throws DBException;
-
- /**
- *
* Start a new transaction in this database environment, and
* return the transaction object for such new transaction.
*
@@ -156,18 +139,6 @@ sequence<byte> Value;
/**
*
- * The base class for databases.
- *
- * @see DBEnvironment::openDB
- * @see DBException
- *
- **/
-local interface DBBase
-{
-};
-
-/**
- *
* A database that can store basic key/value pairs, or
* identity/servant pairs. In case the database is used to store both
* key/value and identity/Servant pairs, it is the application's
@@ -184,7 +155,7 @@ local interface DBBase
* @see Evictor
*
**/
-local interface DBForKeyValues extends DBBase
+local interface DB
{
/**
*
diff --git a/cpp/src/Freeze/DBI.cpp b/cpp/src/Freeze/DBI.cpp
index b6359fed260..cc97d8a31fd 100644
--- a/cpp/src/Freeze/DBI.cpp
+++ b/cpp/src/Freeze/DBI.cpp
@@ -387,23 +387,13 @@ Freeze::DBI::put(const Key& key, const Value& value, bool txn)
throw ex;
}
- if (!servant)
- {
- return;
- }
-
- IceInternal::InstancePtr instance = IceInternal::getInstance(_communicator);
- IceInternal::Stream stream(instance);
- stream.write(servant);
-
DBT dbKey, dbData;
-
memset(&dbKey, 0, sizeof(dbKey));
memset(&dbData, 0, sizeof(dbData));
- dbKey.data = const_cast<void*>(static_cast<const void*>(key.c_str()));
+ dbKey.data = const_cast<void*>(static_cast<const void*>(key.begin()));
dbKey.size = key.size();
- dbData.data = stream.b.begin();
- dbData.size = stream.b.size();
+ dbData.data = const_cast<void*>(static_cast<const void*>(value.begin()));
+ dbData.size = value.size();
while (true)
{
@@ -416,7 +406,7 @@ Freeze::DBI::put(const Key& key, const Value& value, bool txn)
if (_trace >= 1)
{
ostringstream s;
- s << "writing value for key \"" << key << "\" in database \"" << _name << "\"";
+ s << "writing value in database \"" << _name << "\"";
_logger->trace("DB", s.str());
}
@@ -494,13 +484,13 @@ Freeze::DBI::get(const Key& key)
DBT dbKey, dbData;
memset(&dbKey, 0, sizeof(dbKey));
memset(&dbData, 0, sizeof(dbData));
- dbKey.data = const_cast<void*>(static_cast<const void*>(key.c_str()));
+ dbKey.data = const_cast<void*>(static_cast<const void*>(key.begin()));
dbKey.size = key.size();
if (_trace >= 1)
{
ostringstream s;
- s << "reading value for key \"" << key << "\" from database \"" << _name << "\"";
+ s << "reading value from database \"" << _name << "\"";
_logger->trace("DB", s.str());
}
@@ -513,21 +503,10 @@ Freeze::DBI::get(const Key& key)
//
// Everything ok
//
- IceInternal::InstancePtr instance = IceInternal::getInstance(_communicator);
- IceInternal::Stream stream(instance);
- stream.b.resize(dbData.size);
- stream.i = stream.b.begin();
- memcpy(stream.b.begin(), dbData.data, dbData.size);
-
- ObjectPtr servant;
- stream.read(servant, "::Ice::Object");
-
- if (!servant)
- {
- throw NoServantFactoryException(__FILE__, __LINE__);
- }
-
- return servant;
+ Value value;
+ value.resize(dbData.size);
+ memcpy(value.begin(), dbData.data, dbData.size);
+ return value;
}
case DB_NOTFOUND:
@@ -535,7 +514,7 @@ Freeze::DBI::get(const Key& key)
//
// Key does not exist, return a null servant
//
- return 0;
+ return Value();
}
default:
@@ -565,13 +544,13 @@ Freeze::DBI::del(const Key& key)
DBT dbKey;
memset(&dbKey, 0, sizeof(dbKey));
- dbKey.data = const_cast<void*>(static_cast<const void*>(key.c_str()));
+ dbKey.data = const_cast<void*>(static_cast<const void*>(key.begin()));
dbKey.size = key.size();
if (_trace >= 1)
{
ostringstream s;
- s << "deleting value for key \"" << key << "\" from database \"" << _name << "\"";
+ s << "deleting value from database \"" << _name << "\"";
_logger->trace("DB", s.str());
}
@@ -599,7 +578,7 @@ Freeze::DBI::del(const Key& key)
}
void
-Freeze::DBI::put(const string& identity, const ObjectPtr& servant, bool txn)
+Freeze::DBI::putServant(const string& identity, const ObjectPtr& servant, bool txn)
{
JTCSyncT<JTCMutex> sync(*this);
@@ -622,7 +601,6 @@ Freeze::DBI::put(const string& identity, const ObjectPtr& servant, bool txn)
stream.write(servant);
DBT dbKey, dbData;
-
memset(&dbKey, 0, sizeof(dbKey));
memset(&dbData, 0, sizeof(dbData));
dbKey.data = const_cast<void*>(static_cast<const void*>(identity.c_str()));
@@ -703,7 +681,7 @@ Freeze::DBI::put(const string& identity, const ObjectPtr& servant, bool txn)
}
ObjectPtr
-Freeze::DBI::get(const string& identity)
+Freeze::DBI::getServant(const string& identity)
{
JTCSyncT<JTCMutex> sync(*this);
@@ -775,7 +753,7 @@ Freeze::DBI::get(const string& identity)
}
void
-Freeze::DBI::del(const string& identity)
+Freeze::DBI::delServant(const string& identity)
{
JTCSyncT<JTCMutex> sync(*this);
diff --git a/cpp/src/Freeze/DBI.h b/cpp/src/Freeze/DBI.h
index bb440926798..fa25dda1113 100644
--- a/cpp/src/Freeze/DBI.h
+++ b/cpp/src/Freeze/DBI.h
@@ -31,7 +31,7 @@ public:
virtual std::string getName();
virtual DBPtr openDB(const std::string&);
- virtual DBTransactionPtr startDBTransaction();
+ virtual DBTransactionPtr startTransaction();
virtual void close();
private:
diff --git a/cpp/src/Freeze/EvictorI.cpp b/cpp/src/Freeze/EvictorI.cpp
index a775ad6cae1..4be3641ce68 100644
--- a/cpp/src/Freeze/EvictorI.cpp
+++ b/cpp/src/Freeze/EvictorI.cpp
@@ -102,7 +102,7 @@ Freeze::EvictorI::setPersistenceMode(EvictorPersistenceMode persistenceMode)
for (map<string, EvictorElement>::iterator p = _evictorMap.begin(); p != _evictorMap.end(); ++p)
{
- _db->put(*(p->second.position), p->second.servant, true);
+ _db->putServant(*(p->second.position), p->second.servant, true);
}
}
}
@@ -124,7 +124,7 @@ Freeze::EvictorI::createObject(const string& identity, const ObjectPtr& servant)
//
// Save the new Ice Object to the database.
//
- _db->put(identity, servant, true);
+ _db->putServant(identity, servant, true);
add(identity, servant);
if (_trace >= 1)
@@ -143,7 +143,7 @@ Freeze::EvictorI::destroyObject(const string& identity)
//
// Delete the Ice Object from the database.
//
- _db->del(identity);
+ _db->delServant(identity);
remove(identity);
if (_trace >= 1)
@@ -204,7 +204,7 @@ Freeze::EvictorI::locate(const ObjectAdapterPtr& adapter, const string& identity
// Load the Ice Object from database and create and add a
// Servant for it.
//
- ObjectPtr servant = _db->get(identity);
+ ObjectPtr servant = _db->getServant(identity);
if (!servant)
{
//
@@ -246,7 +246,7 @@ Freeze::EvictorI::finished(const ObjectAdapterPtr&, const string& identity, cons
{
if (servant->__isMutating(operation))
{
- _db->put(identity, servant, true);
+ _db->putServant(identity, servant, true);
}
}
}
@@ -271,7 +271,7 @@ Freeze::EvictorI::deactivate()
{
for (map<string, EvictorElement>::iterator p = _evictorMap.begin(); p != _evictorMap.end(); ++p)
{
- _db->put(*(p->second.position), p->second.servant, true);
+ _db->putServant(*(p->second.position), p->second.servant, true);
}
}
@@ -313,7 +313,7 @@ Freeze::EvictorI::evict()
//
if (_persistenceMode == SaveUponEviction)
{
- _db->put(identity, servant, true);
+ _db->putServant(identity, servant, true);
}
if (_trace >= 2)
diff --git a/cpp/src/slice2freeze/.depend b/cpp/src/slice2freeze/.depend
index 4c8defd2f1e..8bb92ea6ca9 100644
--- a/cpp/src/slice2freeze/.depend
+++ b/cpp/src/slice2freeze/.depend
@@ -1,2 +1,2 @@
-Main.o: Main.cpp ../../include/Slice/Parser.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Handle.h ../../include/Slice/OutputUtil.h
-GenUtil.o: ../slice2cpp/GenUtil.cpp GenUtil.h ../../include/Slice/Parser.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Handle.h ../../include/Slice/OutputUtil.h
+Main.o: Main.cpp ../../include/Slice/Parser.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Handle.h ../../include/Slice/OutputUtil.h GenUtil.h
+GenUtil.o: GenUtil.cpp GenUtil.h ../../include/Slice/Parser.h ../../include/IceUtil/Shared.h ../../include/IceUtil/Config.h ../../include/IceUtil/Handle.h ../../include/Slice/OutputUtil.h