blob: ffd494e777ba5e0b07c3ff316a0936ba97b278f3 [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.
%%------------------------------------------------------------------------------
-include("hessian.hrl").
-define(DUBBO_VERSION,<<"2.6.0">>).
-define(DUBBO_MEGIC, -9541). %% new version 16#dabb
-define(DUBBO_MEGIC_HIGH, 16#da). %% new version 16#da
-define(DUBBO_MEGIC_LOW, 16#bb). %% new version 16#bb
-define(DUBBO_DEFAULT_PORT,20880).
%% 序列化类型
-define(SERIALIZATION_HESSIAN,2).
-define(SERIALIZATION_FASTJSON,6).
-define(SERIALIZATION_KRYO,8).
-define(RESPONSE_WITH_EXCEPTION,0).
-define(RESPONSE_VALUE,1).
-define(RESPONSE_NULL_VALUE,2).
-define(RESPONSE_STATE_OK,20).
-define(REQUEST_TIME_OUT,5000).
-define(LINE_SEPERATOR,<<"\n"/utf8>>).
-record(dubbo_request,{
serialize_type = 2 ::integer(),
is_event = true ::boolean(),
is_twoway = false ::boolean(),
data ::null|dubbo_rpc_invocation,
mid ::integer(),
mversion ::binary(),
error_msg ::binary(),
state ::byte(),
decode_state
}).
-record(dubbo_response,{
serialize_type = 2 ::integer(),
is_event = true ::boolean(),
is_twoway = false ::boolean(),
data ::null|dubbo_rpc_invocation,
mid ::integer(),
mversion ::string(),
error_msg ::string(),
state ::byte(),
decode_state
}).
-record(dubbo_rpc_invocation,{
serialVersionUID = -4355285085441097045,
className ::string(),
classVersion ::string(),
methodName ::string(),
parameterDesc ::string(),
parameterTypes=[] ::[#type_def{}],
parameters=[] ::[term()],
attachments=[] ::[term()]
}).
-record(consumer_config,{
interface,
application = <<"NoName">> ::binary(),
category = <<"consumers">> ::binary(),
check=false ::boolean(),
default_timeout=500 ::integer(),
dubbo_version= <<"2.5.3">> ::binary(),
methods=[] ::list(),
revision= <<"">> ::binary(),
side= <<"consumers">> ::binary()
}).
-record(provider_config,{
protocol,
host,
port,
interface,
anyhost=true,
executes=1,
application,
dubbo= <<"2.5.3">>,
methods=[],
side= <<"provider">>
}).
-record(interface_list,{interface,pid,connection_info}).
-record(provider_node_list,{host_flag,connection_info}).
-record(connection_info,{connection_id,pid,weight,host_flag}).
-type dubbo_request() ::#dubbo_request{}.
-type dubbo_response()::#dubbo_response{}.