20 #ifndef STORAGE_AGENT_H 21 #define STORAGE_AGENT_H 23 #ifndef SHEAF_DLL_SPEC_H 24 #include "SheafSystem/sheaf_dll_spec.h" 28 #include "SheafSystem/any.h" 31 #ifndef POSET_BOUNDS_DESCRIPTOR_H 32 #include "SheafSystem/poset_bounds_descriptor.h" 36 #include "SheafSystem/record_map.h" 40 #include "SheafSystem/sheaf_file.h" 44 #include "SheafSystem/std_ctime.h" 48 #include "SheafSystem/std_set.h" 52 #include "SheafSystem/std_string.h" 58 class data_type_aliases_record;
59 class member_names_record;
61 class namespace_poset;
63 class poset_data_type_map;
64 class poset_general_record;
66 class abstract_poset_member;
67 class subposet_names_record;
68 class poset_state_handle;
111 virtual bool invariant()
const;
116 virtual bool is_ancestor_of(
const any* other)
const;
129 bool xclobber =
true,
130 bool xenable_error_report =
false);
147 bool file_is_read_accessible()
const;
152 bool file_is_read_only_accessible()
const;
157 bool file_is_read_write_accessible()
const;
162 const std::string& file_id_space_name()
const;
174 clock_t time()
const;
276 bool xretain_read_access =
false);
384 int member_record_buffer_ub()
const;
390 void put_member_record_buffer_ub(
int xub);
398 size_t dof_tuple_record_size()
const;
403 void put_dof_tuple_record_size(
size_t xsize);
410 int dof_tuple_record_buffer_ub()
const;
417 void put_dof_tuple_record_buffer_ub(
int xub);
427 int transaction_ct()
const;
573 void initialize_namespace_id_spaces_for_write(
namespace_poset& xposet);
587 int _member_record_buffer_ub;
592 size_t _dof_tuple_record_size;
598 int _dof_tuple_record_buffer_ub;
608 std::string _file_id_space_name;
615 std::set<transaction> _active_transactions;
632 void put_active_transaction(
transaction& xtransaction);
644 #endif // ifndef STORAGE_AGENT_H bool is_read_transaction
True if read transaction.
An encapsulation of an HDF file containing sheaf data.
bool is_write_transaction
True if write transaction.
The default name space; a poset which contains other posets as members.
A client handle for a general, abstract partially order set.
access_mode
File access modes.
poset_bounds_descriptor col_bounds
Bounds for the columns accessed in this transaction.
Abstract base class with useful features for all objects.
pod_index_type target
The index of the target poset of the transaction.
poset_bounds_descriptor row_bounds
Bounds for the rows accessed in this transaction.
transaction_type
Type of access associated with a transaction.
An index within the external ("client") scope of a given id space.
static const poset_bounds_descriptor & BOTTOM_TOP
An instance with lb() == {bottom} and ub() == {top}.
A record_set which contains dof tuple records. Supports both record selection and record restriction ...
A description of a (lower, upper) bounds pair for a poset. Specifies a portion of a poset for a bound...
static const bool ABORT
Value to indicate transaction should not be committed.
static const bool RETAIN_READ
Value to indicate read access should be retained.
int_type pod_index_type
The plain old data index type.
static const bool RELEASE_ALL
Value to indicate read access should not be retained.
static const bool COMMIT
Value to indicate transaction should be committed.
Namespace for the sheaves component of the sheaf system.
A poset specific collection of data converters, various buffers and other data used while transferrin...
An abstract client handle for a member of a poset.
Agent responsible for importing and exporting posets from an external name space which resides on dis...