summaryrefslogtreecommitdiff
path: root/cpp/src/Freeze/BackgroundSaveEvictorI.h
diff options
context:
space:
mode:
authorMark Spruiell <mes@zeroc.com>2014-08-22 13:57:27 -0700
committerMark Spruiell <mes@zeroc.com>2014-08-22 13:57:27 -0700
commit72f8cc4a94b6ff77be9c8d08f28ed6b23d59568e (patch)
tree3c3a82331886bb85928b2edff98f36c147ca88f1 /cpp/src/Freeze/BackgroundSaveEvictorI.h
parentremove convertssl.py from RPMs (diff)
downloadice-72f8cc4a94b6ff77be9c8d08f28ed6b23d59568e.tar.bz2
ice-72f8cc4a94b6ff77be9c8d08f28ed6b23d59568e.tar.xz
ice-72f8cc4a94b6ff77be9c8d08f28ed6b23d59568e.zip
ICE-5225 - Freeze changes
Diffstat (limited to 'cpp/src/Freeze/BackgroundSaveEvictorI.h')
-rw-r--r--cpp/src/Freeze/BackgroundSaveEvictorI.h25
1 files changed, 21 insertions, 4 deletions
diff --git a/cpp/src/Freeze/BackgroundSaveEvictorI.h b/cpp/src/Freeze/BackgroundSaveEvictorI.h
index 12037c53275..51001a28385 100644
--- a/cpp/src/Freeze/BackgroundSaveEvictorI.h
+++ b/cpp/src/Freeze/BackgroundSaveEvictorI.h
@@ -130,13 +130,30 @@ public:
//
virtual void run();
- struct StreamedObject
+ struct StreamedObject : public IceUtil::Shared
{
- Key key;
- Value value;
+ StreamedObject() :
+ key(0), value(0)
+ {
+ }
+
+ ~StreamedObject()
+ {
+ delete key;
+ delete value;
+ }
+
+ ObjectStoreBase::KeyMarshaler* key;
+ ObjectStoreBase::ValueMarshaler* value;
Ice::Byte status;
ObjectStore<BackgroundSaveEvictorElement>* store;
+
+ private:
+
+ StreamedObject(const StreamedObject&) {}
+ void operator=(const StreamedObject&) {}
};
+ typedef IceUtil::Handle<StreamedObject> StreamedObjectPtr;
protected:
@@ -154,7 +171,7 @@ private:
void addToModifiedQueue(const BackgroundSaveEvictorElementPtr&);
void fixEvictPosition(const BackgroundSaveEvictorElementPtr&);
- void stream(const BackgroundSaveEvictorElementPtr&, Ice::Long, StreamedObject&);
+ void stream(const BackgroundSaveEvictorElementPtr&, Ice::Long, const StreamedObjectPtr&);
//
// The _evictorList contains a list of all objects we keep,