From de81352a53bc78b3c84143d77615662717b9d157 Mon Sep 17 00:00:00 2001 From: Magnus Ahltorp Date: Tue, 29 Sep 2015 10:30:28 +0200 Subject: Make it possible to send several entries at once with merge/sendentry --- src/db.erl | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) (limited to 'src/db.erl') diff --git a/src/db.erl b/src/db.erl index 0b9e9a2..f204f76 100644 --- a/src/db.erl +++ b/src/db.erl @@ -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). -- cgit v1.1