From 868b8aa993d304326d7dd40a58b4424a2a3a0ba9 Mon Sep 17 00:00:00 2001 From: Geoff Cant Date: Mon, 6 May 2013 16:31:05 -0700 Subject: [PATCH] Adds logplex_token:delete_by_id for nsync. --- src/logplex_token.erl | 9 +++++++++ src/nsync_callback.erl | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/src/logplex_token.erl b/src/logplex_token.erl index b85a9b8e..be68886d 100644 --- a/src/logplex_token.erl +++ b/src/logplex_token.erl @@ -32,6 +32,7 @@ ,name/1 ,cache/1 ,delete/1 + ,delete_by_id/1 ,delete_by_channel/1 ,new/3 ,new/2 @@ -140,6 +141,14 @@ delete(Token = #token{id = Id}) -> ets:delete(?TOKEN_TAB, Id), ets:delete_object(?CHAN_TOKEN_TAB, index_rec(Token)). +delete_by_id(Id) -> + case lookup(Id) of + Token = #token{} -> + delete(Token); + _ -> + ok + end. + delete_by_channel(ChannelId) when is_integer(ChannelId) -> [ ets:delete(?TOKEN_TAB, Id) || #token_idx{id = Id} <- lookup_ids_by_channel(ChannelId) ], diff --git a/src/nsync_callback.erl b/src/nsync_callback.erl index 1570c932..0870ffb7 100644 --- a/src/nsync_callback.erl +++ b/src/nsync_callback.erl @@ -92,7 +92,7 @@ handle({cmd, "del", [<<"ch:", Rest/binary>> | _Args]}) -> handle({cmd, "del", [<<"tok:", Rest/binary>> | _Args]}) -> Id = parse_id(Rest), ?INFO("at=delete type=token id=~p", [Id]), - logplex_token:delete(Id); + logplex_token:delete_by_id(Id); handle({cmd, "del", [<<"drain:", Rest/binary>> | _Args]}) -> Id = drain_id(parse_id(Rest)),