* ocupe block_size de tamaño.
*/
struct BTreeFileHeader {
+ char magic[7];
uint block_size;
int tree_type;
int key_type;
+ uint block_data_counter;
};
/** Encabezado de un bloque */
class BTree {
public:
BTree (const std::string &filename, unsigned int block_size, int t_t = TYPE_IDENTIFICACION, int k_t = KEY_FIXED, bool create_new_file = false);
+ BTree (const std::string &filename);
+
~BTree ();
/** Tipos de clave a usar */
/* Funciones de manejo de archivo */
void WriteFileHeader ();
+ void ReadFileHeader ();
/* Manejo de Bloques */
void WriteBlock (uchar *block, uint num);
std::string filename;
BTreeFileHeader header;
+ uint GetNextBlockData ();
+
/** Apunta al archivo de datos, asi se abre solo 1 vez
*
* \todo Ver si vale la pena
*/
FILE *fp;
std::list<uint> deleted_nodes;
+ std::list<uint> deleted_block_data;
/* DEBUG */