./ct_report/coverage/mod_pubsub_cache_backend.COVER.html

1 -module(mod_pubsub_cache_backend).
2
3 -export([start/2,
4 stop/1,
5 upsert_last_item/5,
6 delete_last_item/2,
7 get_last_item/2]).
8
9 -ignore_xref([stop/1]).
10
11 -define(MAIN_MODULE, mod_pubsub_cache).
12
13 %%====================================================================
14 %% Behaviour callbacks
15 %%====================================================================
16
17 %% ------------------------ Backend start/stop ------------------------
18
19 -callback start(jid:lserver()) -> ok.
20
21 -callback stop() -> ok.
22
23 -callback upsert_last_item(ServerHost :: binary(),
24 Nidx :: mod_pubsub:nodeIdx(),
25 ItemID :: mod_pubsub:itemId(),
26 Publisher :: jid:jid(),
27 Payload :: mod_pubsub:payload()) -> ok | {error, Reason :: term()}.
28
29 -callback delete_last_item(ServerHost :: binary(),
30 Nidx :: mod_pubsub:nodeIdx()) -> ok | {error, Reason :: term()}.
31
32 -callback get_last_item(ServerHost :: binary(),
33 Nidx :: mod_pubsub:nodeIdx()) ->
34 {ok, LastItem :: mod_pubsub:pubsubLastItem()} | {error, Reason :: term()}.
35
36 -spec start(jid:lserver(), gen_mod:module_opts()) -> ok.
37 start(ServerHost, Opts) ->
38
:-(
TrackedFuns = [upsert_last_item, delete_last_item, get_last_item],
39
:-(
mongoose_backend:init(ServerHost, ?MAIN_MODULE, TrackedFuns, Opts),
40
:-(
Args = [ServerHost],
41
:-(
mongoose_backend:call(ServerHost, ?MAIN_MODULE, ?FUNCTION_NAME, Args).
42
43 -spec stop(jid:lserver()) -> ok.
44 stop(ServerHost) ->
45
:-(
mongoose_backend:call(ServerHost, ?MAIN_MODULE, ?FUNCTION_NAME, []).
46
47 -spec upsert_last_item(ServerHost :: binary(),
48 Nidx :: mod_pubsub:nodeIdx(),
49 ItemID :: mod_pubsub:itemId(),
50 Publisher :: jid:jid(),
51 Payload :: mod_pubsub:payload()) -> ok | {error, Reason :: term()}.
52 upsert_last_item(ServerHost, Nidx, ItemID, Publisher, Payload) ->
53
:-(
Args = [ServerHost, Nidx, ItemID, Publisher, Payload],
54
:-(
mongoose_backend:call_tracked(ServerHost, ?MAIN_MODULE, ?FUNCTION_NAME, Args).
55
56 -spec delete_last_item(ServerHost :: binary(),
57 Nidx :: mod_pubsub:nodeIdx()) -> ok | {error, Reason :: term()}.
58 delete_last_item(ServerHost, Nidx) ->
59
:-(
Args = [ServerHost, Nidx],
60
:-(
mongoose_backend:call_tracked(ServerHost, ?MAIN_MODULE, ?FUNCTION_NAME, Args).
61
62 -spec get_last_item(ServerHost :: binary(),
63 Nidx :: mod_pubsub:nodeIdx()) ->
64 {ok, LastItem :: mod_pubsub:pubsubLastItem()} | {error, Reason :: term()}.
65 get_last_item(ServerHost, Nidx) ->
66
:-(
Args = [ServerHost, Nidx],
67
:-(
mongoose_backend:call_tracked(ServerHost, ?MAIN_MODULE, ?FUNCTION_NAME, Args).
Line Hits Source