#include "map.h"
-typedef enum { TXN_READ_WRITE, TXN_READ_ONLY, TXN_BLIND_WRITE } txn_access_e;
-typedef enum { TXN_REPEATABLE_READ, TXN_READ_COMMITTED, TXN_DIRTY_READ } txn_isolation_e;
+typedef enum { TXN_REPEATABLE_READ, TXN_READ_COMMITTED, TXN_READ_ONLY } txn_type_e;
typedef enum { TXN_RUNNING, TXN_VALIDATING, TXN_VALIDATED, TXN_ABORTED } txn_state_e;
typedef struct txn txn_t;
-txn_t * txn_begin (txn_access_e access, txn_isolation_e isolation, map_type_t map_type);
+void txn_init (void);
+
+txn_t * txn_begin (txn_type_e type, map_t *map);
void txn_abort (txn_t *txn);
txn_state_e txn_commit (txn_t *txn);
-uint64_t tm_get (txn_t *txn, const char *key, uint32_t key_len);
-void tm_set (txn_t *txn, const char *key, uint32_t key_len, uint64_t value);
+uint64_t tm_get (txn_t *txn, void *key);
+void tm_set (txn_t *txn, void *key, uint64_t value);
#endif//TXN_H