From 9678542bacbaf87ddd9f777e79bcdb51334066ac Mon Sep 17 00:00:00 2001 From: Andre Graf Date: Tue, 22 May 2018 13:30:04 +0200 Subject: [PATCH] allow different pid than self() to subscribe to plumtree events --- src/plumtree_metadata_manager.erl | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/src/plumtree_metadata_manager.erl b/src/plumtree_metadata_manager.erl index 5a1f20b..939675b 100644 --- a/src/plumtree_metadata_manager.erl +++ b/src/plumtree_metadata_manager.erl @@ -49,7 +49,9 @@ %% utilities -export([size/1, subscribe/1, - unsubscribe/1]). + subscribe/2, + unsubscribe/1, + unsubscribe/2]). %% gen_server callbacks -export([init/1, handle_call/3, handle_cast/2, handle_info/2, @@ -117,11 +119,19 @@ calc_size(It, Acc) -> -spec subscribe(metadata_prefix()) -> ok. subscribe(FullPrefix) -> - gen_server:call(?SERVER, {subscribe, FullPrefix, self()}, infinity). + subscribe(FullPrefix, self()). + +-spec subscribe(metadata_prefix(), pid()) -> ok. +subscribe(FullPrefix, Pid) when is_pid(Pid) -> + gen_server:call(?SERVER, {subscribe, FullPrefix, Pid}, infinity). -spec unsubscribe(metadata_prefix()) -> ok. unsubscribe(FullPrefix) -> - gen_server:call(?SERVER, {unsubscribe, FullPrefix, self()}, infinity). + unsubscribe(FullPrefix, self()). + +-spec unsubscribe(metadata_prefix(), pid()) -> ok. +unsubscribe(FullPrefix, Pid) when is_pid(Pid) -> + gen_server:call(?SERVER, {unsubscribe, FullPrefix, Pid}, infinity).