From 2cb10f33a1cc8d3d94450fa45cc8f63ba32c137f Mon Sep 17 00:00:00 2001 From: Bernard Normier Date: Tue, 21 Oct 2003 20:40:01 +0000 Subject: Added Freeze evictor indices --- cpp/src/Freeze/Util.h | 66 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 cpp/src/Freeze/Util.h (limited to 'cpp/src/Freeze/Util.h') diff --git a/cpp/src/Freeze/Util.h b/cpp/src/Freeze/Util.h new file mode 100644 index 00000000000..e5ec22b758a --- /dev/null +++ b/cpp/src/Freeze/Util.h @@ -0,0 +1,66 @@ +// ********************************************************************** +// +// Copyright (c) 2003 +// ZeroC, Inc. +// Billerica, MA, USA +// +// All Rights Reserved. +// +// Ice is free software; you can redistribute it and/or modify it under +// the terms of the GNU General Public License version 2 as published by +// the Free Software Foundation. +// +// ********************************************************************** + +#ifndef FREEZE_UTIL_H +#define FREEZE_UTIL_H + +#include +#include +#include +#include + +#ifdef _WIN32 +# define FREEZE_DB_MODE 0 +#else +# define FREEZE_DB_MODE (S_IRUSR | S_IWUSR) +#endif + + +namespace Freeze +{ + +inline void +initializeInDbt(const std::vector& v, Dbt& dbt) +{ + dbt.set_data(const_cast(&v[0])); + dbt.set_size(v.size()); + dbt.set_ulen(0); + dbt.set_dlen(0); + dbt.set_doff(0); + dbt.set_flags(DB_DBT_USERMEM); +} + +inline void +initializeOutDbt(std::vector& v, Dbt& dbt) +{ + v.resize(v.capacity()); + dbt.set_data(&v[0]); + dbt.set_size(0); + dbt.set_ulen(v.size()); + dbt.set_dlen(0); + dbt.set_doff(0); + dbt.set_flags(DB_DBT_USERMEM); +} + +void +handleMemoryException(const DbMemoryException&, Key&, Dbt&); + +void +handleMemoryException(const DbMemoryException&, Key&, Dbt&, Value&, Dbt&); + +} + + +#endif + -- cgit v1.2.3