diff options
Diffstat (limited to 'src/db.erl')
-rw-r--r-- | src/db.erl | 19 |
1 files changed, 16 insertions, 3 deletions
@@ -7,7 +7,7 @@ %% API. -export([start_link/0, stop/0]). -export([create_size_table/0]). --export([add/2, add_entryhash/2, set_treesize/1, size/0]). +-export([add_entry_sync/2, add_entry_nosync/2, sync_entry_db/0, add_entryhash/2, set_treesize/1, size/0]). -export([add_index_nosync_noreverse/2]). -export([verifiedsize/0, set_verifiedsize/1]). -export([sendsth_verified/0, set_sendsth_verified/2]). @@ -75,14 +75,27 @@ stop() -> %%%%%%%%%%%%%%%%%%%% %% Public API. --spec add(binary(), binary()) -> ok. -add(LeafHash, Data) -> +-spec add_entry_sync(binary(), binary()) -> ok. +add_entry_sync(LeafHash, Data) -> lager:debug("add leafhash ~s", [mochihex:to_hex(LeafHash)]), ok = perm:addvalue(entry_db, LeafHash, Data), perm:commit(entry_db), lager:debug("leafhash ~s added", [mochihex:to_hex(LeafHash)]), ok. +-spec add_entry_nosync(binary(), binary()) -> ok. +add_entry_nosync(LeafHash, Data) -> + lager:debug("add leafhash ~s", [mochihex:to_hex(LeafHash)]), + ok = perm:addvalue(entry_db, LeafHash, Data), + lager:debug("leafhash ~s added", [mochihex:to_hex(LeafHash)]), + ok. + +sync_entry_db() -> + lager:debug("committing entry db"), + perm:commit(entry_db), + lager:debug("committed entry db"), + ok. + -spec add_entryhash(binary(), binary()) -> ok | differ. add_entryhash(LeafHash, EntryHash) -> perm:addvalue(entryhash_db, EntryHash, LeafHash). |