From 2adc2c2385e849c5f5b55240cbf7b0e66d364e5c Mon Sep 17 00:00:00 2001 From: Anders Svensson Date: Wed, 20 Apr 2016 11:04:26 +0200 Subject: Add diameter:peer_info/1 To return information about a single peer_ref(), to avoid having to retrieve more than is needed with service_info/2. --- lib/diameter/src/base/diameter.erl | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) (limited to 'lib/diameter/src/base/diameter.erl') diff --git a/lib/diameter/src/base/diameter.erl b/lib/diameter/src/base/diameter.erl index de88f6befd..b04697513e 100644 --- a/lib/diameter/src/base/diameter.erl +++ b/lib/diameter/src/base/diameter.erl @@ -1,7 +1,7 @@ %% %% %CopyrightBegin% %% -%% Copyright Ericsson AB 2010-2015. All Rights Reserved. +%% Copyright Ericsson AB 2010-2016. All Rights Reserved. %% %% Licensed under the Apache License, Version 2.0 (the "License"); %% you may not use this file except in compliance with the License. @@ -36,6 +36,7 @@ %% Information. -export([services/0, + peer_info/1, service_info/2]). %% Start/stop the application. In a "real" application this should @@ -53,6 +54,7 @@ service_name/0, capability/0, peer_filter/0, + peer_ref/0, service_opt/0, application_opt/0, app_module/0, @@ -146,6 +148,16 @@ services() -> service_info(SvcName, Option) -> diameter_service:info(SvcName, Option). +%% --------------------------------------------------------------------------- +%% peer_info/2 +%% --------------------------------------------------------------------------- + +-spec peer_info(peer_ref()) + -> [tuple()]. + +peer_info(PeerRef) -> + diameter_service:peer_info(PeerRef). + %% --------------------------------------------------------------------------- %% add_transport/3 %% --------------------------------------------------------------------------- @@ -280,6 +292,9 @@ call(SvcName, App, Message) -> | {all, [peer_filter()]} | {any, [peer_filter()]}. +-opaque peer_ref() + :: pid(). + -type evaluable() :: {module(), atom(), list()} | fun() -- cgit v1.2.3 From 18449b6bd35be4ad66ea7874a397029c8c920629 Mon Sep 17 00:00:00 2001 From: Anders Svensson Date: Wed, 4 May 2016 23:27:02 +0200 Subject: Add diameter:peer_find/1 To return a peer_fsm/transport pair given one of them. --- lib/diameter/src/base/diameter.erl | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'lib/diameter/src/base/diameter.erl') diff --git a/lib/diameter/src/base/diameter.erl b/lib/diameter/src/base/diameter.erl index b04697513e..e8f2f63f86 100644 --- a/lib/diameter/src/base/diameter.erl +++ b/lib/diameter/src/base/diameter.erl @@ -37,6 +37,7 @@ %% Information. -export([services/0, peer_info/1, + peer_find/1, service_info/2]). %% Start/stop the application. In a "real" application this should @@ -158,6 +159,17 @@ service_info(SvcName, Option) -> peer_info(PeerRef) -> diameter_service:peer_info(PeerRef). +%% --------------------------------------------------------------------------- +%% peer_find/1 +%% --------------------------------------------------------------------------- + +-spec peer_find(peer_ref() | pid()) + -> {peer_ref(), pid()} + | false. + +peer_find(Pid) -> + diameter_peer_fsm:find(Pid). + %% --------------------------------------------------------------------------- %% add_transport/3 %% --------------------------------------------------------------------------- -- cgit v1.2.3