This is an automated email from the ASF dual-hosted git repository. dlive pushed a commit to branch 0.4.0 in repository https://gitbox.apache.org/repos/asf/dubbo-erlang.git
commit fc0072d302c39140aef5bfd6ec10b8b8fbc1b93f Author: DLive <[email protected]> AuthorDate: Mon Jun 17 23:22:58 2019 +0800 redesign the protocol callback --- src/dubbo_common_fun.erl | 2 +- src/dubbo_directory.erl | 7 +------ src/dubbo_protocol.erl | 14 +++++++------- src/dubbo_protocol_dubbo.erl | 18 ++++++++++++++---- 4 files changed, 23 insertions(+), 18 deletions(-) diff --git a/src/dubbo_common_fun.erl b/src/dubbo_common_fun.erl index e74f57f..6717fac 100644 --- a/src/dubbo_common_fun.erl +++ b/src/dubbo_common_fun.erl @@ -32,7 +32,7 @@ local_ip_v4_str() -> list_to_binary(io_lib:format("~p.~p.~p.~p", [V1, V2, V3, V4])). --spec(parse_url(Url :: binary()|list()) -> {ok, map()}). +-spec(parse_url(Url :: binary()|list()) -> {ok, #dubbo_url{}}). parse_url(Url) when is_binary(Url) -> parse_url(binary_to_list(Url)); parse_url(Url) -> diff --git a/src/dubbo_directory.erl b/src/dubbo_directory.erl index 08e959c..3674a91 100644 --- a/src/dubbo_directory.erl +++ b/src/dubbo_directory.erl @@ -83,12 +83,7 @@ subscribe(RegistryName,SubcribeUrl)-> notify(Interface,UrlList)-> %% @todo if UrlList size is 1, and protocol is empty ,need destroyAllInvokers - case dubbo_extension:run_fold(protocol,refer,[UrlList],{error,no_protocol}) of - {ok,Invokers} -> - ok; - {error,no_protocol}-> - error - end, + refresh_invoker(UrlList), %% dubbo_consumer_pool:start_consumer(Interface, UrlList), ok. diff --git a/src/dubbo_protocol.erl b/src/dubbo_protocol.erl index 8808fc8..7ecfcd8 100644 --- a/src/dubbo_protocol.erl +++ b/src/dubbo_protocol.erl @@ -16,11 +16,11 @@ %%------------------------------------------------------------------------------ -module(dubbo_protocol). --callback refer(Url)->ok. +-callback refer(Url,Acc)->ok. -%% API --export([refer/2]). - - -refer(InterfaceClassInfo,Url)-> - dubbo_hooker(protocol_wapper,refer,[InterfaceClassInfo,Url]). \ No newline at end of file +%%%% API +%%-export([refer/2]). +%% +%% +%%refer(InterfaceClassInfo,Url)-> +%% dubbo_hooker(protocol_wapper,refer,[InterfaceClassInfo,Url]). \ No newline at end of file diff --git a/src/dubbo_protocol_dubbo.erl b/src/dubbo_protocol_dubbo.erl index c2fb6dd..06c36e6 100644 --- a/src/dubbo_protocol_dubbo.erl +++ b/src/dubbo_protocol_dubbo.erl @@ -15,11 +15,21 @@ %% limitations under the License. %%------------------------------------------------------------------------------ -module(dubbo_protocol_dubbo). --author("dlive"). + +-include("dubboerl.hrl"). %% API --export([refer/1]). +-export([refer/2]). + +refer(Url,Acc)-> + {ok,UrlInfo} = dubbo_common_fun:parse_url(Url), + case UrlInfo#dubbo_url.scheme of + <<"dubbo">> -> + {ok,todo}; + _ -> + {skip,Acc} + end. -refer(Url)-> +do_refer(UrlInfo)-> - {ok,todo}. \ No newline at end of file + ok. \ No newline at end of file
