blob: 09a48336d1dce96c7664faccb2980622918dc117 [file] [log] [blame]
%%------------------------------------------------------------------------------
%% Licensed to the Apache Software Foundation (ASF) under one or more
%% contributor license agreements. See the NOTICE file distributed with
%% this work for additional information regarding copyright ownership.
%% The ASF licenses this file to You under the Apache License, Version 2.0
%% (the "License"); you may not use this file except in compliance with
%% the License. You may obtain a copy of the License at
%%
%% http://www.apache.org/licenses/LICENSE-2.0
%%
%% Unless required by applicable law or agreed to in writing, software
%% distributed under the License is distributed on an "AS IS" BASIS,
%% WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
%% See the License for the specific language governing permissions and
%% limitations under the License.
%%------------------------------------------------------------------------------
-module(dubbo_exchanger).
-include("dubbo.hrl").
%% API
-export([connect/2]).
connect(Url,Handler) ->
case dubbo_node_config_util:parse_provider_info(Url) of
{ok, ProviderConfig} ->
HostFlag= dubbo_provider_consumer_reg_table:get_host_flag(ProviderConfig),
{ok, Pid} = dubbo_transport_pool_sup:add_children(ProviderConfig,Handler),
logger:info("start provider ~p pid info ~p~n", [HostFlag, Pid]),
{ok,#connection_info{ pid = Pid, weight = get_weight(ProviderConfig), host_flag = HostFlag}};
{error, R1} ->
logger:error("parse provider info error reason ~p", [R1]),
{error,R1}
end.
get_weight(_ProviderConfig)->
%% todo get weight from provider info
30.