summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authornsensfel <SpamShield0@noot-noot.org>2019-01-04 19:07:34 +0100
committernsensfel <SpamShield0@noot-noot.org>2019-01-04 19:07:34 +0100
commit76256398ba61e47f71098b1aa6ea511473b93e44 (patch)
tree4fbb34d2665cd08e7629f5727e53b2b2211bc468 /src/ataxia_client.erl
parent3f15009661717ac99149656ac93308a29494b983 (diff)
...
Diffstat (limited to 'src/ataxia_client.erl')
-rw-r--r--src/ataxia_client.erl34
1 files changed, 29 insertions, 5 deletions
diff --git a/src/ataxia_client.erl b/src/ataxia_client.erl
index dec16e6..739320a 100644
--- a/src/ataxia_client.erl
+++ b/src/ataxia_client.erl
@@ -12,7 +12,8 @@
[
add/4,
add_at/5,
- reserve/2,
+ reserve/3,
+ reserve/4,
fetch/3,
update/4,
@@ -102,18 +103,41 @@ add (DB, ReadPerm, WritePerm, Value) ->
-spec reserve
(
atom(),
+ ataxia_security:permission(),
+ ataxia_security:permission()
+ )
+ -> ({'ok', ataxia_id:type()} | {'aborted', any()}).
+reserve (DB, ReadPerm, WritePerm) ->
+ DBNode = get_random_db_node(),
+
+ Reply = rpc:call(DBNode, ataxia_server, reserve, [DB, ReadPerm, WritePerm]),
+
+ io:format
+ (
+ "~nataxia_client:reserve(~p) ! ~p -> ~p.~n",
+ [{DB, ReadPerm, WritePerm}, DBNode, Reply]
+ ),
+
+ Reply.
+
+-spec reserve
+ (
+ atom(),
+ ataxia_security:permission(),
+ ataxia_security:permission(),
ataxia_id:type()
)
- -> ('ok' | 'unavailable').
-reserve (DB, ID) ->
+ -> ('ok' | {'aborted', any()}).
+reserve (DB, ReadPerm, WritePerm, ID) ->
DBNode = get_db_node_for(ID),
- Reply = rpc:call(DBNode, ataxia_server, reserve, [DB, ID]),
+ Reply =
+ rpc:call(DBNode, ataxia_server, reserve, [DB, ReadPerm, WritePerm, ID]),
io:format
(
"~nataxia_client:reserve(~p) ! ~p -> ~p.~n",
- [{DB, ID}, DBNode, Reply]
+ [{DB, ReadPerm, WritePerm, ID}, DBNode, Reply]
),
Reply.