diff options
Diffstat (limited to 'icespider/fileSessions/fileSessions.cpp')
-rw-r--r-- | icespider/fileSessions/fileSessions.cpp | 21 |
1 files changed, 11 insertions, 10 deletions
diff --git a/icespider/fileSessions/fileSessions.cpp b/icespider/fileSessions/fileSessions.cpp index 1672842..7791d3c 100644 --- a/icespider/fileSessions/fileSessions.cpp +++ b/icespider/fileSessions/fileSessions.cpp @@ -10,7 +10,8 @@ #include <boost/filesystem/operations.hpp> #include <boost/uuid/uuid_generators.hpp> #include <boost/uuid/uuid_io.hpp> -#include <Ice/Stream.h> +#include <Ice/OutputStream.h> +#include <Ice/InputStream.h> #include "Ice/Initialize.h" namespace IceSpider { @@ -33,14 +34,14 @@ namespace IceSpider { SessionPtr createSession(const ::Ice::Current &) override { - SessionPtr s = new Session(); + auto s = std::make_shared<Session>(); s->id = boost::lexical_cast<std::string>(boost::uuids::random_generator()()); s->duration = duration; save(s); return s; } - SessionPtr getSession(const ::std::string & id, const ::Ice::Current & current) override + SessionPtr getSession(const ::std::string id, const ::Ice::Current & current) override { auto s = load(id); if (s && isExpired(s)) { @@ -50,12 +51,12 @@ namespace IceSpider { return s; } - void updateSession(const SessionPtr & s, const ::Ice::Current &) override + void updateSession(const SessionPtr s, const ::Ice::Current &) override { save(s); } - void destroySession(const ::std::string & id, const ::Ice::Current &) override + void destroySession(const ::std::string id, const ::Ice::Current &) override { try { boost::filesystem::remove(root / id); @@ -69,9 +70,9 @@ namespace IceSpider { void save(SessionPtr s) { s->lastUsed = time(NULL); - auto buf = Ice::createOutputStream(ic); - buf->write(s); - auto range = buf->finished(); + Ice::OutputStream buf(ic); + buf.write(s); + auto range = buf.finished(); AdHoc::FileUtils::FileHandle f(root / s->id, O_WRONLY | O_CREAT, S_IRUSR | S_IWUSR); sysassert(flock(f.fh, LOCK_EX), -1); sysassert(pwrite(f.fh, range.first, range.second - range.first, 0), -1); @@ -87,9 +88,9 @@ namespace IceSpider { AdHoc::FileUtils::MemMap f(path); sysassert(flock(f.fh, LOCK_SH), -1); auto fbuf = (Ice::Byte *)f.data; - auto buf = Ice::createInputStream(ic, std::make_pair(fbuf, fbuf + f.getStat().st_size)); + Ice::InputStream buf(ic, std::make_pair(fbuf, fbuf + f.getStat().st_size)); SessionPtr s; - buf->read(s); + buf.read(s); sysassert(flock(f.fh, LOCK_UN), -1); return s; } |