|
|
|
|
@ -59,6 +59,8 @@
|
|
|
|
|
|
|
|
|
|
-type sdl_v6_info() :: #sdl_v6_info{}.
|
|
|
|
|
|
|
|
|
|
-type sdl_welcome() :: #sdl_welcome{}.
|
|
|
|
|
|
|
|
|
|
-type sdl_empty() :: #sdl_empty{}.
|
|
|
|
|
|
|
|
|
|
-type sdl_register_super() :: #sdl_register_super{}.
|
|
|
|
|
@ -99,9 +101,9 @@
|
|
|
|
|
|
|
|
|
|
-type sdl_register_ack() :: #sdl_register_ack{}.
|
|
|
|
|
|
|
|
|
|
-export_type(['sdl_v4_info'/0, 'sdl_v6_info'/0, 'sdl_empty'/0, 'sdl_register_super'/0, 'sdl_register_super_ack'/0, 'sdl_register_super_nak'/0, 'sdl_query_info'/0, 'sdl_peer_info'/0, 'sdl_arp_request'/0, 'sdl_arp_response'/0, 'sdl_policy_request'/0, 'sdl_policy_response'/0, 'sdl_nat_changed_event'/0, 'sdl_send_register_event'/0, 'sdl_network_shutdown_event'/0, 'sdl_stun_request'/0, 'sdl_stun_reply'/0, 'sdl_data'/0, 'sdl_stun_probe'/0, 'sdl_stun_probe_reply'/0, 'sdl_register'/0, 'sdl_register_ack'/0]).
|
|
|
|
|
-type '$msg_name'() :: sdl_v4_info | sdl_v6_info | sdl_empty | sdl_register_super | sdl_register_super_ack | sdl_register_super_nak | sdl_query_info | sdl_peer_info | sdl_arp_request | sdl_arp_response | sdl_policy_request | sdl_policy_response | sdl_nat_changed_event | sdl_send_register_event | sdl_network_shutdown_event | sdl_stun_request | sdl_stun_reply | sdl_data | sdl_stun_probe | sdl_stun_probe_reply | sdl_register | sdl_register_ack.
|
|
|
|
|
-type '$msg'() :: sdl_v4_info() | sdl_v6_info() | sdl_empty() | sdl_register_super() | sdl_register_super_ack() | sdl_register_super_nak() | sdl_query_info() | sdl_peer_info() | sdl_arp_request() | sdl_arp_response() | sdl_policy_request() | sdl_policy_response() | sdl_nat_changed_event() | sdl_send_register_event() | sdl_network_shutdown_event() | sdl_stun_request() | sdl_stun_reply() | sdl_data() | sdl_stun_probe() | sdl_stun_probe_reply() | sdl_register() | sdl_register_ack().
|
|
|
|
|
-export_type(['sdl_v4_info'/0, 'sdl_v6_info'/0, 'sdl_welcome'/0, 'sdl_empty'/0, 'sdl_register_super'/0, 'sdl_register_super_ack'/0, 'sdl_register_super_nak'/0, 'sdl_query_info'/0, 'sdl_peer_info'/0, 'sdl_arp_request'/0, 'sdl_arp_response'/0, 'sdl_policy_request'/0, 'sdl_policy_response'/0, 'sdl_nat_changed_event'/0, 'sdl_send_register_event'/0, 'sdl_network_shutdown_event'/0, 'sdl_stun_request'/0, 'sdl_stun_reply'/0, 'sdl_data'/0, 'sdl_stun_probe'/0, 'sdl_stun_probe_reply'/0, 'sdl_register'/0, 'sdl_register_ack'/0]).
|
|
|
|
|
-type '$msg_name'() :: sdl_v4_info | sdl_v6_info | sdl_welcome | sdl_empty | sdl_register_super | sdl_register_super_ack | sdl_register_super_nak | sdl_query_info | sdl_peer_info | sdl_arp_request | sdl_arp_response | sdl_policy_request | sdl_policy_response | sdl_nat_changed_event | sdl_send_register_event | sdl_network_shutdown_event | sdl_stun_request | sdl_stun_reply | sdl_data | sdl_stun_probe | sdl_stun_probe_reply | sdl_register | sdl_register_ack.
|
|
|
|
|
-type '$msg'() :: sdl_v4_info() | sdl_v6_info() | sdl_welcome() | sdl_empty() | sdl_register_super() | sdl_register_super_ack() | sdl_register_super_nak() | sdl_query_info() | sdl_peer_info() | sdl_arp_request() | sdl_arp_response() | sdl_policy_request() | sdl_policy_response() | sdl_nat_changed_event() | sdl_send_register_event() | sdl_network_shutdown_event() | sdl_stun_request() | sdl_stun_reply() | sdl_data() | sdl_stun_probe() | sdl_stun_probe_reply() | sdl_register() | sdl_register_ack().
|
|
|
|
|
-export_type(['$msg_name'/0, '$msg'/0]).
|
|
|
|
|
|
|
|
|
|
-if(?OTP_RELEASE >= 24).
|
|
|
|
|
@ -130,6 +132,7 @@ encode_msg(Msg, MsgName, Opts) ->
|
|
|
|
|
case MsgName of
|
|
|
|
|
sdl_v4_info -> encode_msg_sdl_v4_info(id(Msg, TrUserData), TrUserData);
|
|
|
|
|
sdl_v6_info -> encode_msg_sdl_v6_info(id(Msg, TrUserData), TrUserData);
|
|
|
|
|
sdl_welcome -> encode_msg_sdl_welcome(id(Msg, TrUserData), TrUserData);
|
|
|
|
|
sdl_empty -> encode_msg_sdl_empty(id(Msg, TrUserData), TrUserData);
|
|
|
|
|
sdl_register_super -> encode_msg_sdl_register_super(id(Msg, TrUserData), TrUserData);
|
|
|
|
|
sdl_register_super_ack -> encode_msg_sdl_register_super_ack(id(Msg, TrUserData), TrUserData);
|
|
|
|
|
@ -210,12 +213,10 @@ encode_msg_sdl_v6_info(#sdl_v6_info{port = F1, v6 = F2}, Bin, TrUserData) ->
|
|
|
|
|
end
|
|
|
|
|
end.
|
|
|
|
|
|
|
|
|
|
encode_msg_sdl_empty(_Msg, _TrUserData) -> <<>>.
|
|
|
|
|
|
|
|
|
|
encode_msg_sdl_register_super(Msg, TrUserData) -> encode_msg_sdl_register_super(Msg, <<>>, TrUserData).
|
|
|
|
|
encode_msg_sdl_welcome(Msg, TrUserData) -> encode_msg_sdl_welcome(Msg, <<>>, TrUserData).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
encode_msg_sdl_register_super(#sdl_register_super{version = F1, client_id = F2, network_id = F3, mac = F4, ip = F5, mask_len = F6, hostname = F7, pub_key = F8, access_token = F9}, Bin, TrUserData) ->
|
|
|
|
|
encode_msg_sdl_welcome(#sdl_welcome{version = F1, max_bidi_streams = F2, max_packet_size = F3, heartbeat_sec = F4}, Bin, TrUserData) ->
|
|
|
|
|
B1 = if F1 == undefined -> Bin;
|
|
|
|
|
true ->
|
|
|
|
|
begin
|
|
|
|
|
@ -229,9 +230,8 @@ encode_msg_sdl_register_super(#sdl_register_super{version = F1, client_id = F2,
|
|
|
|
|
true ->
|
|
|
|
|
begin
|
|
|
|
|
TrF2 = id(F2, TrUserData),
|
|
|
|
|
case is_empty_string(TrF2) of
|
|
|
|
|
true -> B1;
|
|
|
|
|
false -> e_type_string(TrF2, <<B1/binary, 18>>, TrUserData)
|
|
|
|
|
if TrF2 =:= 0 -> B1;
|
|
|
|
|
true -> e_varint(TrF2, <<B1/binary, 16>>, TrUserData)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end,
|
|
|
|
|
@ -244,13 +244,57 @@ encode_msg_sdl_register_super(#sdl_register_super{version = F1, client_id = F2,
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end,
|
|
|
|
|
if F4 == undefined -> B3;
|
|
|
|
|
true ->
|
|
|
|
|
begin
|
|
|
|
|
TrF4 = id(F4, TrUserData),
|
|
|
|
|
if TrF4 =:= 0 -> B3;
|
|
|
|
|
true -> e_varint(TrF4, <<B3/binary, 32>>, TrUserData)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end.
|
|
|
|
|
|
|
|
|
|
encode_msg_sdl_empty(_Msg, _TrUserData) -> <<>>.
|
|
|
|
|
|
|
|
|
|
encode_msg_sdl_register_super(Msg, TrUserData) -> encode_msg_sdl_register_super(Msg, <<>>, TrUserData).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
encode_msg_sdl_register_super(#sdl_register_super{client_id = F1, network_id = F2, mac = F3, ip = F4, mask_len = F5, hostname = F6, pub_key = F7, access_token = F8}, Bin, TrUserData) ->
|
|
|
|
|
B1 = if F1 == undefined -> Bin;
|
|
|
|
|
true ->
|
|
|
|
|
begin
|
|
|
|
|
TrF1 = id(F1, TrUserData),
|
|
|
|
|
case is_empty_string(TrF1) of
|
|
|
|
|
true -> Bin;
|
|
|
|
|
false -> e_type_string(TrF1, <<Bin/binary, 10>>, TrUserData)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end,
|
|
|
|
|
B2 = if F2 == undefined -> B1;
|
|
|
|
|
true ->
|
|
|
|
|
begin
|
|
|
|
|
TrF2 = id(F2, TrUserData),
|
|
|
|
|
if TrF2 =:= 0 -> B1;
|
|
|
|
|
true -> e_varint(TrF2, <<B1/binary, 16>>, TrUserData)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end,
|
|
|
|
|
B3 = if F3 == undefined -> B2;
|
|
|
|
|
true ->
|
|
|
|
|
begin
|
|
|
|
|
TrF3 = id(F3, TrUserData),
|
|
|
|
|
case iolist_size(TrF3) of
|
|
|
|
|
0 -> B2;
|
|
|
|
|
_ -> e_type_bytes(TrF3, <<B2/binary, 26>>, TrUserData)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end,
|
|
|
|
|
B4 = if F4 == undefined -> B3;
|
|
|
|
|
true ->
|
|
|
|
|
begin
|
|
|
|
|
TrF4 = id(F4, TrUserData),
|
|
|
|
|
case iolist_size(TrF4) of
|
|
|
|
|
0 -> B3;
|
|
|
|
|
_ -> e_type_bytes(TrF4, <<B3/binary, 34>>, TrUserData)
|
|
|
|
|
if TrF4 =:= 0 -> B3;
|
|
|
|
|
true -> e_varint(TrF4, <<B3/binary, 32>>, TrUserData)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end,
|
|
|
|
|
@ -267,8 +311,9 @@ encode_msg_sdl_register_super(#sdl_register_super{version = F1, client_id = F2,
|
|
|
|
|
true ->
|
|
|
|
|
begin
|
|
|
|
|
TrF6 = id(F6, TrUserData),
|
|
|
|
|
if TrF6 =:= 0 -> B5;
|
|
|
|
|
true -> e_varint(TrF6, <<B5/binary, 48>>, TrUserData)
|
|
|
|
|
case is_empty_string(TrF6) of
|
|
|
|
|
true -> B5;
|
|
|
|
|
false -> e_type_string(TrF6, <<B5/binary, 50>>, TrUserData)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end,
|
|
|
|
|
@ -282,7 +327,7 @@ encode_msg_sdl_register_super(#sdl_register_super{version = F1, client_id = F2,
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end,
|
|
|
|
|
B8 = if F8 == undefined -> B7;
|
|
|
|
|
if F8 == undefined -> B7;
|
|
|
|
|
true ->
|
|
|
|
|
begin
|
|
|
|
|
TrF8 = id(F8, TrUserData),
|
|
|
|
|
@ -291,16 +336,6 @@ encode_msg_sdl_register_super(#sdl_register_super{version = F1, client_id = F2,
|
|
|
|
|
false -> e_type_string(TrF8, <<B7/binary, 66>>, TrUserData)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end,
|
|
|
|
|
if F9 == undefined -> B8;
|
|
|
|
|
true ->
|
|
|
|
|
begin
|
|
|
|
|
TrF9 = id(F9, TrUserData),
|
|
|
|
|
case is_empty_string(TrF9) of
|
|
|
|
|
true -> B8;
|
|
|
|
|
false -> e_type_string(TrF9, <<B8/binary, 74>>, TrUserData)
|
|
|
|
|
end
|
|
|
|
|
end
|
|
|
|
|
end.
|
|
|
|
|
|
|
|
|
|
encode_msg_sdl_register_super_ack(Msg, TrUserData) -> encode_msg_sdl_register_super_ack(Msg, <<>>, TrUserData).
|
|
|
|
|
@ -1050,6 +1085,7 @@ decode_msg_1_catch(Bin, MsgName, TrUserData) ->
|
|
|
|
|
|
|
|
|
|
decode_msg_2_doit(sdl_v4_info, Bin, TrUserData) -> id(decode_msg_sdl_v4_info(Bin, TrUserData), TrUserData);
|
|
|
|
|
decode_msg_2_doit(sdl_v6_info, Bin, TrUserData) -> id(decode_msg_sdl_v6_info(Bin, TrUserData), TrUserData);
|
|
|
|
|
decode_msg_2_doit(sdl_welcome, Bin, TrUserData) -> id(decode_msg_sdl_welcome(Bin, TrUserData), TrUserData);
|
|
|
|
|
decode_msg_2_doit(sdl_empty, Bin, TrUserData) -> id(decode_msg_sdl_empty(Bin, TrUserData), TrUserData);
|
|
|
|
|
decode_msg_2_doit(sdl_register_super, Bin, TrUserData) -> id(decode_msg_sdl_register_super(Bin, TrUserData), TrUserData);
|
|
|
|
|
decode_msg_2_doit(sdl_register_super_ack, Bin, TrUserData) -> id(decode_msg_sdl_register_super_ack(Bin, TrUserData), TrUserData);
|
|
|
|
|
@ -1182,6 +1218,71 @@ skip_32_sdl_v6_info(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) ->
|
|
|
|
|
|
|
|
|
|
skip_64_sdl_v6_info(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, TrUserData) -> dfp_read_field_def_sdl_v6_info(Rest, Z1, Z2, F, F@_1, F@_2, TrUserData).
|
|
|
|
|
|
|
|
|
|
decode_msg_sdl_welcome(Bin, TrUserData) -> dfp_read_field_def_sdl_welcome(Bin, 0, 0, 0, id(0, TrUserData), id(0, TrUserData), id(0, TrUserData), id(0, TrUserData), TrUserData).
|
|
|
|
|
|
|
|
|
|
dfp_read_field_def_sdl_welcome(<<8, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> d_field_sdl_welcome_version(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
|
|
|
|
dfp_read_field_def_sdl_welcome(<<16, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> d_field_sdl_welcome_max_bidi_streams(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
|
|
|
|
dfp_read_field_def_sdl_welcome(<<24, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> d_field_sdl_welcome_max_packet_size(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
|
|
|
|
dfp_read_field_def_sdl_welcome(<<32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> d_field_sdl_welcome_heartbeat_sec(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
|
|
|
|
dfp_read_field_def_sdl_welcome(<<>>, 0, 0, _, F@_1, F@_2, F@_3, F@_4, _) -> #sdl_welcome{version = F@_1, max_bidi_streams = F@_2, max_packet_size = F@_3, heartbeat_sec = F@_4};
|
|
|
|
|
dfp_read_field_def_sdl_welcome(Other, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> dg_read_field_def_sdl_welcome(Other, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData).
|
|
|
|
|
|
|
|
|
|
dg_read_field_def_sdl_welcome(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 32 - 7 -> dg_read_field_def_sdl_welcome(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
|
|
|
|
dg_read_field_def_sdl_welcome(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, F@_3, F@_4, TrUserData) ->
|
|
|
|
|
Key = X bsl N + Acc,
|
|
|
|
|
case Key of
|
|
|
|
|
8 -> d_field_sdl_welcome_version(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
|
|
|
|
16 -> d_field_sdl_welcome_max_bidi_streams(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
|
|
|
|
24 -> d_field_sdl_welcome_max_packet_size(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
|
|
|
|
32 -> d_field_sdl_welcome_heartbeat_sec(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
|
|
|
|
_ ->
|
|
|
|
|
case Key band 7 of
|
|
|
|
|
0 -> skip_varint_sdl_welcome(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
|
|
|
|
1 -> skip_64_sdl_welcome(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
|
|
|
|
2 -> skip_length_delimited_sdl_welcome(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
|
|
|
|
3 -> skip_group_sdl_welcome(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
|
|
|
|
5 -> skip_32_sdl_welcome(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, TrUserData)
|
|
|
|
|
end
|
|
|
|
|
end;
|
|
|
|
|
dg_read_field_def_sdl_welcome(<<>>, 0, 0, _, F@_1, F@_2, F@_3, F@_4, _) -> #sdl_welcome{version = F@_1, max_bidi_streams = F@_2, max_packet_size = F@_3, heartbeat_sec = F@_4}.
|
|
|
|
|
|
|
|
|
|
d_field_sdl_welcome_version(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 57 -> d_field_sdl_welcome_version(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
|
|
|
|
d_field_sdl_welcome_version(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, F@_3, F@_4, TrUserData) ->
|
|
|
|
|
{NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest},
|
|
|
|
|
dfp_read_field_def_sdl_welcome(RestF, 0, 0, F, NewFValue, F@_2, F@_3, F@_4, TrUserData).
|
|
|
|
|
|
|
|
|
|
d_field_sdl_welcome_max_bidi_streams(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 57 -> d_field_sdl_welcome_max_bidi_streams(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
|
|
|
|
d_field_sdl_welcome_max_bidi_streams(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, _, F@_3, F@_4, TrUserData) ->
|
|
|
|
|
{NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest},
|
|
|
|
|
dfp_read_field_def_sdl_welcome(RestF, 0, 0, F, F@_1, NewFValue, F@_3, F@_4, TrUserData).
|
|
|
|
|
|
|
|
|
|
d_field_sdl_welcome_max_packet_size(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 57 -> d_field_sdl_welcome_max_packet_size(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
|
|
|
|
d_field_sdl_welcome_max_packet_size(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, _, F@_4, TrUserData) ->
|
|
|
|
|
{NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest},
|
|
|
|
|
dfp_read_field_def_sdl_welcome(RestF, 0, 0, F, F@_1, F@_2, NewFValue, F@_4, TrUserData).
|
|
|
|
|
|
|
|
|
|
d_field_sdl_welcome_heartbeat_sec(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 57 -> d_field_sdl_welcome_heartbeat_sec(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
|
|
|
|
d_field_sdl_welcome_heartbeat_sec(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, _, TrUserData) ->
|
|
|
|
|
{NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest},
|
|
|
|
|
dfp_read_field_def_sdl_welcome(RestF, 0, 0, F, F@_1, F@_2, F@_3, NewFValue, TrUserData).
|
|
|
|
|
|
|
|
|
|
skip_varint_sdl_welcome(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> skip_varint_sdl_welcome(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
|
|
|
|
skip_varint_sdl_welcome(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> dfp_read_field_def_sdl_welcome(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData).
|
|
|
|
|
|
|
|
|
|
skip_length_delimited_sdl_welcome(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) when N < 57 -> skip_length_delimited_sdl_welcome(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData);
|
|
|
|
|
skip_length_delimited_sdl_welcome(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, TrUserData) ->
|
|
|
|
|
Length = X bsl N + Acc,
|
|
|
|
|
<<_:Length/binary, Rest2/binary>> = Rest,
|
|
|
|
|
dfp_read_field_def_sdl_welcome(Rest2, 0, 0, F, F@_1, F@_2, F@_3, F@_4, TrUserData).
|
|
|
|
|
|
|
|
|
|
skip_group_sdl_welcome(Bin, _, Z2, FNum, F@_1, F@_2, F@_3, F@_4, TrUserData) ->
|
|
|
|
|
{_, Rest} = read_group(Bin, FNum),
|
|
|
|
|
dfp_read_field_def_sdl_welcome(Rest, 0, Z2, FNum, F@_1, F@_2, F@_3, F@_4, TrUserData).
|
|
|
|
|
|
|
|
|
|
skip_32_sdl_welcome(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> dfp_read_field_def_sdl_welcome(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData).
|
|
|
|
|
|
|
|
|
|
skip_64_sdl_welcome(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData) -> dfp_read_field_def_sdl_welcome(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, TrUserData).
|
|
|
|
|
|
|
|
|
|
decode_msg_sdl_empty(Bin, TrUserData) -> dfp_read_field_def_sdl_empty(Bin, 0, 0, 0, TrUserData).
|
|
|
|
|
|
|
|
|
|
dfp_read_field_def_sdl_empty(<<>>, 0, 0, _, _) -> #sdl_empty{};
|
|
|
|
|
@ -1217,131 +1318,110 @@ skip_32_sdl_empty(<<_:32, Rest/binary>>, Z1, Z2, F, TrUserData) -> dfp_read_fiel
|
|
|
|
|
skip_64_sdl_empty(<<_:64, Rest/binary>>, Z1, Z2, F, TrUserData) -> dfp_read_field_def_sdl_empty(Rest, Z1, Z2, F, TrUserData).
|
|
|
|
|
|
|
|
|
|
decode_msg_sdl_register_super(Bin, TrUserData) ->
|
|
|
|
|
dfp_read_field_def_sdl_register_super(Bin, 0, 0, 0, id(0, TrUserData), id(<<>>, TrUserData), id(0, TrUserData), id(<<>>, TrUserData), id(0, TrUserData), id(0, TrUserData), id(<<>>, TrUserData), id(<<>>, TrUserData), id(<<>>, TrUserData), TrUserData).
|
|
|
|
|
dfp_read_field_def_sdl_register_super(Bin, 0, 0, 0, id(<<>>, TrUserData), id(0, TrUserData), id(<<>>, TrUserData), id(0, TrUserData), id(0, TrUserData), id(<<>>, TrUserData), id(<<>>, TrUserData), id(<<>>, TrUserData), TrUserData).
|
|
|
|
|
|
|
|
|
|
dfp_read_field_def_sdl_register_super(<<8, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) ->
|
|
|
|
|
d_field_sdl_register_super_version(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
dfp_read_field_def_sdl_register_super(<<18, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) ->
|
|
|
|
|
d_field_sdl_register_super_client_id(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
dfp_read_field_def_sdl_register_super(<<24, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) ->
|
|
|
|
|
d_field_sdl_register_super_network_id(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
dfp_read_field_def_sdl_register_super(<<34, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) ->
|
|
|
|
|
d_field_sdl_register_super_mac(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
dfp_read_field_def_sdl_register_super(<<40, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) ->
|
|
|
|
|
d_field_sdl_register_super_ip(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
dfp_read_field_def_sdl_register_super(<<48, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) ->
|
|
|
|
|
d_field_sdl_register_super_mask_len(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
dfp_read_field_def_sdl_register_super(<<58, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) ->
|
|
|
|
|
d_field_sdl_register_super_hostname(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
dfp_read_field_def_sdl_register_super(<<66, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) ->
|
|
|
|
|
d_field_sdl_register_super_pub_key(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
dfp_read_field_def_sdl_register_super(<<74, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) ->
|
|
|
|
|
d_field_sdl_register_super_access_token(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
dfp_read_field_def_sdl_register_super(<<>>, 0, 0, _, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, _) ->
|
|
|
|
|
#sdl_register_super{version = F@_1, client_id = F@_2, network_id = F@_3, mac = F@_4, ip = F@_5, mask_len = F@_6, hostname = F@_7, pub_key = F@_8, access_token = F@_9};
|
|
|
|
|
dfp_read_field_def_sdl_register_super(Other, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) -> dg_read_field_def_sdl_register_super(Other, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData).
|
|
|
|
|
dfp_read_field_def_sdl_register_super(<<10, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) -> d_field_sdl_register_super_client_id(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
dfp_read_field_def_sdl_register_super(<<16, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) -> d_field_sdl_register_super_network_id(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
dfp_read_field_def_sdl_register_super(<<26, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) -> d_field_sdl_register_super_mac(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
dfp_read_field_def_sdl_register_super(<<32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) -> d_field_sdl_register_super_ip(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
dfp_read_field_def_sdl_register_super(<<40, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) -> d_field_sdl_register_super_mask_len(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
dfp_read_field_def_sdl_register_super(<<50, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) -> d_field_sdl_register_super_hostname(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
dfp_read_field_def_sdl_register_super(<<58, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) -> d_field_sdl_register_super_pub_key(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
dfp_read_field_def_sdl_register_super(<<66, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) -> d_field_sdl_register_super_access_token(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
dfp_read_field_def_sdl_register_super(<<>>, 0, 0, _, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, _) ->
|
|
|
|
|
#sdl_register_super{client_id = F@_1, network_id = F@_2, mac = F@_3, ip = F@_4, mask_len = F@_5, hostname = F@_6, pub_key = F@_7, access_token = F@_8};
|
|
|
|
|
dfp_read_field_def_sdl_register_super(Other, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) -> dg_read_field_def_sdl_register_super(Other, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData).
|
|
|
|
|
|
|
|
|
|
dg_read_field_def_sdl_register_super(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) when N < 32 - 7 ->
|
|
|
|
|
dg_read_field_def_sdl_register_super(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
dg_read_field_def_sdl_register_super(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) ->
|
|
|
|
|
dg_read_field_def_sdl_register_super(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) when N < 32 - 7 ->
|
|
|
|
|
dg_read_field_def_sdl_register_super(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
dg_read_field_def_sdl_register_super(<<0:1, X:7, Rest/binary>>, N, Acc, _, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) ->
|
|
|
|
|
Key = X bsl N + Acc,
|
|
|
|
|
case Key of
|
|
|
|
|
8 -> d_field_sdl_register_super_version(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
18 -> d_field_sdl_register_super_client_id(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
24 -> d_field_sdl_register_super_network_id(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
34 -> d_field_sdl_register_super_mac(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
40 -> d_field_sdl_register_super_ip(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
48 -> d_field_sdl_register_super_mask_len(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
58 -> d_field_sdl_register_super_hostname(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
66 -> d_field_sdl_register_super_pub_key(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
74 -> d_field_sdl_register_super_access_token(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
10 -> d_field_sdl_register_super_client_id(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
16 -> d_field_sdl_register_super_network_id(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
26 -> d_field_sdl_register_super_mac(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
32 -> d_field_sdl_register_super_ip(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
40 -> d_field_sdl_register_super_mask_len(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
50 -> d_field_sdl_register_super_hostname(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
58 -> d_field_sdl_register_super_pub_key(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
66 -> d_field_sdl_register_super_access_token(Rest, 0, 0, 0, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
_ ->
|
|
|
|
|
case Key band 7 of
|
|
|
|
|
0 -> skip_varint_sdl_register_super(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
1 -> skip_64_sdl_register_super(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
2 -> skip_length_delimited_sdl_register_super(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
3 -> skip_group_sdl_register_super(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
5 -> skip_32_sdl_register_super(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData)
|
|
|
|
|
0 -> skip_varint_sdl_register_super(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
1 -> skip_64_sdl_register_super(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
2 -> skip_length_delimited_sdl_register_super(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
3 -> skip_group_sdl_register_super(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
5 -> skip_32_sdl_register_super(Rest, 0, 0, Key bsr 3, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData)
|
|
|
|
|
end
|
|
|
|
|
end;
|
|
|
|
|
dg_read_field_def_sdl_register_super(<<>>, 0, 0, _, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, _) ->
|
|
|
|
|
#sdl_register_super{version = F@_1, client_id = F@_2, network_id = F@_3, mac = F@_4, ip = F@_5, mask_len = F@_6, hostname = F@_7, pub_key = F@_8, access_token = F@_9}.
|
|
|
|
|
dg_read_field_def_sdl_register_super(<<>>, 0, 0, _, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, _) ->
|
|
|
|
|
#sdl_register_super{client_id = F@_1, network_id = F@_2, mac = F@_3, ip = F@_4, mask_len = F@_5, hostname = F@_6, pub_key = F@_7, access_token = F@_8}.
|
|
|
|
|
|
|
|
|
|
d_field_sdl_register_super_version(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) when N < 57 ->
|
|
|
|
|
d_field_sdl_register_super_version(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
d_field_sdl_register_super_version(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) ->
|
|
|
|
|
d_field_sdl_register_super_client_id(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) when N < 57 ->
|
|
|
|
|
d_field_sdl_register_super_client_id(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
d_field_sdl_register_super_client_id(<<0:1, X:7, Rest/binary>>, N, Acc, F, _, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) ->
|
|
|
|
|
{NewFValue, RestF} = begin Len = X bsl N + Acc, <<Bytes:Len/binary, Rest2/binary>> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end,
|
|
|
|
|
dfp_read_field_def_sdl_register_super(RestF, 0, 0, F, NewFValue, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData).
|
|
|
|
|
|
|
|
|
|
d_field_sdl_register_super_network_id(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) when N < 57 ->
|
|
|
|
|
d_field_sdl_register_super_network_id(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
d_field_sdl_register_super_network_id(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, _, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) ->
|
|
|
|
|
{NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest},
|
|
|
|
|
dfp_read_field_def_sdl_register_super(RestF, 0, 0, F, NewFValue, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData).
|
|
|
|
|
dfp_read_field_def_sdl_register_super(RestF, 0, 0, F, F@_1, NewFValue, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData).
|
|
|
|
|
|
|
|
|
|
d_field_sdl_register_super_client_id(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) when N < 57 ->
|
|
|
|
|
d_field_sdl_register_super_client_id(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
d_field_sdl_register_super_client_id(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, _, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) ->
|
|
|
|
|
d_field_sdl_register_super_mac(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) when N < 57 ->
|
|
|
|
|
d_field_sdl_register_super_mac(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
d_field_sdl_register_super_mac(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, _, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) ->
|
|
|
|
|
{NewFValue, RestF} = begin Len = X bsl N + Acc, <<Bytes:Len/binary, Rest2/binary>> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end,
|
|
|
|
|
dfp_read_field_def_sdl_register_super(RestF, 0, 0, F, F@_1, NewFValue, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData).
|
|
|
|
|
dfp_read_field_def_sdl_register_super(RestF, 0, 0, F, F@_1, F@_2, NewFValue, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData).
|
|
|
|
|
|
|
|
|
|
d_field_sdl_register_super_network_id(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) when N < 57 ->
|
|
|
|
|
d_field_sdl_register_super_network_id(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
d_field_sdl_register_super_network_id(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, _, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) ->
|
|
|
|
|
d_field_sdl_register_super_ip(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) when N < 57 ->
|
|
|
|
|
d_field_sdl_register_super_ip(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
d_field_sdl_register_super_ip(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, _, F@_5, F@_6, F@_7, F@_8, TrUserData) ->
|
|
|
|
|
{NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest},
|
|
|
|
|
dfp_read_field_def_sdl_register_super(RestF, 0, 0, F, F@_1, F@_2, NewFValue, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData).
|
|
|
|
|
dfp_read_field_def_sdl_register_super(RestF, 0, 0, F, F@_1, F@_2, F@_3, NewFValue, F@_5, F@_6, F@_7, F@_8, TrUserData).
|
|
|
|
|
|
|
|
|
|
d_field_sdl_register_super_mac(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) when N < 57 ->
|
|
|
|
|
d_field_sdl_register_super_mac(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
d_field_sdl_register_super_mac(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, _, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) ->
|
|
|
|
|
{NewFValue, RestF} = begin Len = X bsl N + Acc, <<Bytes:Len/binary, Rest2/binary>> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end,
|
|
|
|
|
dfp_read_field_def_sdl_register_super(RestF, 0, 0, F, F@_1, F@_2, F@_3, NewFValue, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData).
|
|
|
|
|
|
|
|
|
|
d_field_sdl_register_super_ip(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) when N < 57 ->
|
|
|
|
|
d_field_sdl_register_super_ip(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
d_field_sdl_register_super_ip(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, _, F@_6, F@_7, F@_8, F@_9, TrUserData) ->
|
|
|
|
|
d_field_sdl_register_super_mask_len(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) when N < 57 ->
|
|
|
|
|
d_field_sdl_register_super_mask_len(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
d_field_sdl_register_super_mask_len(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, _, F@_6, F@_7, F@_8, TrUserData) ->
|
|
|
|
|
{NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest},
|
|
|
|
|
dfp_read_field_def_sdl_register_super(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, NewFValue, F@_6, F@_7, F@_8, F@_9, TrUserData).
|
|
|
|
|
dfp_read_field_def_sdl_register_super(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, NewFValue, F@_6, F@_7, F@_8, TrUserData).
|
|
|
|
|
|
|
|
|
|
d_field_sdl_register_super_mask_len(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) when N < 57 ->
|
|
|
|
|
d_field_sdl_register_super_mask_len(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
d_field_sdl_register_super_mask_len(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, _, F@_7, F@_8, F@_9, TrUserData) ->
|
|
|
|
|
{NewFValue, RestF} = {id((X bsl N + Acc) band 4294967295, TrUserData), Rest},
|
|
|
|
|
dfp_read_field_def_sdl_register_super(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, NewFValue, F@_7, F@_8, F@_9, TrUserData).
|
|
|
|
|
|
|
|
|
|
d_field_sdl_register_super_hostname(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) when N < 57 ->
|
|
|
|
|
d_field_sdl_register_super_hostname(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
d_field_sdl_register_super_hostname(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, _, F@_8, F@_9, TrUserData) ->
|
|
|
|
|
d_field_sdl_register_super_hostname(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) when N < 57 ->
|
|
|
|
|
d_field_sdl_register_super_hostname(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
d_field_sdl_register_super_hostname(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, _, F@_7, F@_8, TrUserData) ->
|
|
|
|
|
{NewFValue, RestF} = begin Len = X bsl N + Acc, <<Bytes:Len/binary, Rest2/binary>> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end,
|
|
|
|
|
dfp_read_field_def_sdl_register_super(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, NewFValue, F@_8, F@_9, TrUserData).
|
|
|
|
|
dfp_read_field_def_sdl_register_super(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, NewFValue, F@_7, F@_8, TrUserData).
|
|
|
|
|
|
|
|
|
|
d_field_sdl_register_super_pub_key(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) when N < 57 ->
|
|
|
|
|
d_field_sdl_register_super_pub_key(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
d_field_sdl_register_super_pub_key(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, _, F@_9, TrUserData) ->
|
|
|
|
|
d_field_sdl_register_super_pub_key(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) when N < 57 ->
|
|
|
|
|
d_field_sdl_register_super_pub_key(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
d_field_sdl_register_super_pub_key(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, _, F@_8, TrUserData) ->
|
|
|
|
|
{NewFValue, RestF} = begin Len = X bsl N + Acc, <<Bytes:Len/binary, Rest2/binary>> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end,
|
|
|
|
|
dfp_read_field_def_sdl_register_super(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, NewFValue, F@_9, TrUserData).
|
|
|
|
|
dfp_read_field_def_sdl_register_super(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, NewFValue, F@_8, TrUserData).
|
|
|
|
|
|
|
|
|
|
d_field_sdl_register_super_access_token(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) when N < 57 ->
|
|
|
|
|
d_field_sdl_register_super_access_token(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
d_field_sdl_register_super_access_token(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, _, TrUserData) ->
|
|
|
|
|
d_field_sdl_register_super_access_token(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) when N < 57 ->
|
|
|
|
|
d_field_sdl_register_super_access_token(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
d_field_sdl_register_super_access_token(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, _, TrUserData) ->
|
|
|
|
|
{NewFValue, RestF} = begin Len = X bsl N + Acc, <<Bytes:Len/binary, Rest2/binary>> = Rest, Bytes2 = binary:copy(Bytes), {id(Bytes2, TrUserData), Rest2} end,
|
|
|
|
|
dfp_read_field_def_sdl_register_super(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, NewFValue, TrUserData).
|
|
|
|
|
dfp_read_field_def_sdl_register_super(RestF, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, NewFValue, TrUserData).
|
|
|
|
|
|
|
|
|
|
skip_varint_sdl_register_super(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) ->
|
|
|
|
|
skip_varint_sdl_register_super(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
skip_varint_sdl_register_super(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) ->
|
|
|
|
|
dfp_read_field_def_sdl_register_super(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData).
|
|
|
|
|
skip_varint_sdl_register_super(<<1:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) -> skip_varint_sdl_register_super(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
skip_varint_sdl_register_super(<<0:1, _:7, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) -> dfp_read_field_def_sdl_register_super(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData).
|
|
|
|
|
|
|
|
|
|
skip_length_delimited_sdl_register_super(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) when N < 57 ->
|
|
|
|
|
skip_length_delimited_sdl_register_super(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData);
|
|
|
|
|
skip_length_delimited_sdl_register_super(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) ->
|
|
|
|
|
skip_length_delimited_sdl_register_super(<<1:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) when N < 57 ->
|
|
|
|
|
skip_length_delimited_sdl_register_super(Rest, N + 7, X bsl N + Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData);
|
|
|
|
|
skip_length_delimited_sdl_register_super(<<0:1, X:7, Rest/binary>>, N, Acc, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) ->
|
|
|
|
|
Length = X bsl N + Acc,
|
|
|
|
|
<<_:Length/binary, Rest2/binary>> = Rest,
|
|
|
|
|
dfp_read_field_def_sdl_register_super(Rest2, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData).
|
|
|
|
|
dfp_read_field_def_sdl_register_super(Rest2, 0, 0, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData).
|
|
|
|
|
|
|
|
|
|
skip_group_sdl_register_super(Bin, _, Z2, FNum, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) ->
|
|
|
|
|
skip_group_sdl_register_super(Bin, _, Z2, FNum, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) ->
|
|
|
|
|
{_, Rest} = read_group(Bin, FNum),
|
|
|
|
|
dfp_read_field_def_sdl_register_super(Rest, 0, Z2, FNum, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData).
|
|
|
|
|
dfp_read_field_def_sdl_register_super(Rest, 0, Z2, FNum, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData).
|
|
|
|
|
|
|
|
|
|
skip_32_sdl_register_super(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) ->
|
|
|
|
|
dfp_read_field_def_sdl_register_super(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData).
|
|
|
|
|
skip_32_sdl_register_super(<<_:32, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) -> dfp_read_field_def_sdl_register_super(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData).
|
|
|
|
|
|
|
|
|
|
skip_64_sdl_register_super(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData) ->
|
|
|
|
|
dfp_read_field_def_sdl_register_super(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, F@_9, TrUserData).
|
|
|
|
|
skip_64_sdl_register_super(<<_:64, Rest/binary>>, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData) -> dfp_read_field_def_sdl_register_super(Rest, Z1, Z2, F, F@_1, F@_2, F@_3, F@_4, F@_5, F@_6, F@_7, F@_8, TrUserData).
|
|
|
|
|
|
|
|
|
|
decode_msg_sdl_register_super_ack(Bin, TrUserData) -> dfp_read_field_def_sdl_register_super_ack(Bin, 0, 0, 0, id(<<>>, TrUserData), id(<<>>, TrUserData), TrUserData).
|
|
|
|
|
|
|
|
|
|
@ -2523,6 +2603,7 @@ merge_msgs(Prev, New, MsgName, Opts) ->
|
|
|
|
|
case MsgName of
|
|
|
|
|
sdl_v4_info -> merge_msg_sdl_v4_info(Prev, New, TrUserData);
|
|
|
|
|
sdl_v6_info -> merge_msg_sdl_v6_info(Prev, New, TrUserData);
|
|
|
|
|
sdl_welcome -> merge_msg_sdl_welcome(Prev, New, TrUserData);
|
|
|
|
|
sdl_empty -> merge_msg_sdl_empty(Prev, New, TrUserData);
|
|
|
|
|
sdl_register_super -> merge_msg_sdl_register_super(Prev, New, TrUserData);
|
|
|
|
|
sdl_register_super_ack -> merge_msg_sdl_register_super_ack(Prev, New, TrUserData);
|
|
|
|
|
@ -2571,17 +2652,33 @@ merge_msg_sdl_v6_info(#sdl_v6_info{port = PFport, v6 = PFv6}, #sdl_v6_info{port
|
|
|
|
|
true -> NFv6
|
|
|
|
|
end}.
|
|
|
|
|
|
|
|
|
|
-compile({nowarn_unused_function,merge_msg_sdl_welcome/3}).
|
|
|
|
|
merge_msg_sdl_welcome(#sdl_welcome{version = PFversion, max_bidi_streams = PFmax_bidi_streams, max_packet_size = PFmax_packet_size, heartbeat_sec = PFheartbeat_sec},
|
|
|
|
|
#sdl_welcome{version = NFversion, max_bidi_streams = NFmax_bidi_streams, max_packet_size = NFmax_packet_size, heartbeat_sec = NFheartbeat_sec}, _) ->
|
|
|
|
|
#sdl_welcome{version =
|
|
|
|
|
if NFversion =:= undefined -> PFversion;
|
|
|
|
|
true -> NFversion
|
|
|
|
|
end,
|
|
|
|
|
max_bidi_streams =
|
|
|
|
|
if NFmax_bidi_streams =:= undefined -> PFmax_bidi_streams;
|
|
|
|
|
true -> NFmax_bidi_streams
|
|
|
|
|
end,
|
|
|
|
|
max_packet_size =
|
|
|
|
|
if NFmax_packet_size =:= undefined -> PFmax_packet_size;
|
|
|
|
|
true -> NFmax_packet_size
|
|
|
|
|
end,
|
|
|
|
|
heartbeat_sec =
|
|
|
|
|
if NFheartbeat_sec =:= undefined -> PFheartbeat_sec;
|
|
|
|
|
true -> NFheartbeat_sec
|
|
|
|
|
end}.
|
|
|
|
|
|
|
|
|
|
-compile({nowarn_unused_function,merge_msg_sdl_empty/3}).
|
|
|
|
|
merge_msg_sdl_empty(_Prev, New, _TrUserData) -> New.
|
|
|
|
|
|
|
|
|
|
-compile({nowarn_unused_function,merge_msg_sdl_register_super/3}).
|
|
|
|
|
merge_msg_sdl_register_super(#sdl_register_super{version = PFversion, client_id = PFclient_id, network_id = PFnetwork_id, mac = PFmac, ip = PFip, mask_len = PFmask_len, hostname = PFhostname, pub_key = PFpub_key, access_token = PFaccess_token},
|
|
|
|
|
#sdl_register_super{version = NFversion, client_id = NFclient_id, network_id = NFnetwork_id, mac = NFmac, ip = NFip, mask_len = NFmask_len, hostname = NFhostname, pub_key = NFpub_key, access_token = NFaccess_token}, _) ->
|
|
|
|
|
#sdl_register_super{version =
|
|
|
|
|
if NFversion =:= undefined -> PFversion;
|
|
|
|
|
true -> NFversion
|
|
|
|
|
end,
|
|
|
|
|
client_id =
|
|
|
|
|
merge_msg_sdl_register_super(#sdl_register_super{client_id = PFclient_id, network_id = PFnetwork_id, mac = PFmac, ip = PFip, mask_len = PFmask_len, hostname = PFhostname, pub_key = PFpub_key, access_token = PFaccess_token},
|
|
|
|
|
#sdl_register_super{client_id = NFclient_id, network_id = NFnetwork_id, mac = NFmac, ip = NFip, mask_len = NFmask_len, hostname = NFhostname, pub_key = NFpub_key, access_token = NFaccess_token}, _) ->
|
|
|
|
|
#sdl_register_super{client_id =
|
|
|
|
|
if NFclient_id =:= undefined -> PFclient_id;
|
|
|
|
|
true -> NFclient_id
|
|
|
|
|
end,
|
|
|
|
|
@ -2910,6 +3007,7 @@ verify_msg(Msg, MsgName, Opts) ->
|
|
|
|
|
case MsgName of
|
|
|
|
|
sdl_v4_info -> v_msg_sdl_v4_info(Msg, [MsgName], TrUserData);
|
|
|
|
|
sdl_v6_info -> v_msg_sdl_v6_info(Msg, [MsgName], TrUserData);
|
|
|
|
|
sdl_welcome -> v_msg_sdl_welcome(Msg, [MsgName], TrUserData);
|
|
|
|
|
sdl_empty -> v_msg_sdl_empty(Msg, [MsgName], TrUserData);
|
|
|
|
|
sdl_register_super -> v_msg_sdl_register_super(Msg, [MsgName], TrUserData);
|
|
|
|
|
sdl_register_super_ack -> v_msg_sdl_register_super_ack(Msg, [MsgName], TrUserData);
|
|
|
|
|
@ -2969,6 +3067,24 @@ v_msg_sdl_v6_info(#sdl_v6_info{port = F1, v6 = F2}, Path, TrUserData) ->
|
|
|
|
|
ok;
|
|
|
|
|
v_msg_sdl_v6_info(X, Path, _TrUserData) -> mk_type_error({expected_msg, sdl_v6_info}, X, Path).
|
|
|
|
|
|
|
|
|
|
-compile({nowarn_unused_function,v_msg_sdl_welcome/3}).
|
|
|
|
|
-dialyzer({nowarn_function,v_msg_sdl_welcome/3}).
|
|
|
|
|
v_msg_sdl_welcome(#sdl_welcome{version = F1, max_bidi_streams = F2, max_packet_size = F3, heartbeat_sec = F4}, Path, TrUserData) ->
|
|
|
|
|
if F1 == undefined -> ok;
|
|
|
|
|
true -> v_type_uint32(F1, [version | Path], TrUserData)
|
|
|
|
|
end,
|
|
|
|
|
if F2 == undefined -> ok;
|
|
|
|
|
true -> v_type_uint32(F2, [max_bidi_streams | Path], TrUserData)
|
|
|
|
|
end,
|
|
|
|
|
if F3 == undefined -> ok;
|
|
|
|
|
true -> v_type_uint32(F3, [max_packet_size | Path], TrUserData)
|
|
|
|
|
end,
|
|
|
|
|
if F4 == undefined -> ok;
|
|
|
|
|
true -> v_type_uint32(F4, [heartbeat_sec | Path], TrUserData)
|
|
|
|
|
end,
|
|
|
|
|
ok;
|
|
|
|
|
v_msg_sdl_welcome(X, Path, _TrUserData) -> mk_type_error({expected_msg, sdl_welcome}, X, Path).
|
|
|
|
|
|
|
|
|
|
-compile({nowarn_unused_function,v_msg_sdl_empty/3}).
|
|
|
|
|
-dialyzer({nowarn_function,v_msg_sdl_empty/3}).
|
|
|
|
|
v_msg_sdl_empty(#sdl_empty{}, _Path, _) -> ok;
|
|
|
|
|
@ -2976,33 +3092,30 @@ v_msg_sdl_empty(X, Path, _TrUserData) -> mk_type_error({expected_msg, sdl_empty}
|
|
|
|
|
|
|
|
|
|
-compile({nowarn_unused_function,v_msg_sdl_register_super/3}).
|
|
|
|
|
-dialyzer({nowarn_function,v_msg_sdl_register_super/3}).
|
|
|
|
|
v_msg_sdl_register_super(#sdl_register_super{version = F1, client_id = F2, network_id = F3, mac = F4, ip = F5, mask_len = F6, hostname = F7, pub_key = F8, access_token = F9}, Path, TrUserData) ->
|
|
|
|
|
v_msg_sdl_register_super(#sdl_register_super{client_id = F1, network_id = F2, mac = F3, ip = F4, mask_len = F5, hostname = F6, pub_key = F7, access_token = F8}, Path, TrUserData) ->
|
|
|
|
|
if F1 == undefined -> ok;
|
|
|
|
|
true -> v_type_uint32(F1, [version | Path], TrUserData)
|
|
|
|
|
true -> v_type_string(F1, [client_id | Path], TrUserData)
|
|
|
|
|
end,
|
|
|
|
|
if F2 == undefined -> ok;
|
|
|
|
|
true -> v_type_string(F2, [client_id | Path], TrUserData)
|
|
|
|
|
true -> v_type_uint32(F2, [network_id | Path], TrUserData)
|
|
|
|
|
end,
|
|
|
|
|
if F3 == undefined -> ok;
|
|
|
|
|
true -> v_type_uint32(F3, [network_id | Path], TrUserData)
|
|
|
|
|
true -> v_type_bytes(F3, [mac | Path], TrUserData)
|
|
|
|
|
end,
|
|
|
|
|
if F4 == undefined -> ok;
|
|
|
|
|
true -> v_type_bytes(F4, [mac | Path], TrUserData)
|
|
|
|
|
true -> v_type_uint32(F4, [ip | Path], TrUserData)
|
|
|
|
|
end,
|
|
|
|
|
if F5 == undefined -> ok;
|
|
|
|
|
true -> v_type_uint32(F5, [ip | Path], TrUserData)
|
|
|
|
|
true -> v_type_uint32(F5, [mask_len | Path], TrUserData)
|
|
|
|
|
end,
|
|
|
|
|
if F6 == undefined -> ok;
|
|
|
|
|
true -> v_type_uint32(F6, [mask_len | Path], TrUserData)
|
|
|
|
|
true -> v_type_string(F6, [hostname | Path], TrUserData)
|
|
|
|
|
end,
|
|
|
|
|
if F7 == undefined -> ok;
|
|
|
|
|
true -> v_type_string(F7, [hostname | Path], TrUserData)
|
|
|
|
|
true -> v_type_string(F7, [pub_key | Path], TrUserData)
|
|
|
|
|
end,
|
|
|
|
|
if F8 == undefined -> ok;
|
|
|
|
|
true -> v_type_string(F8, [pub_key | Path], TrUserData)
|
|
|
|
|
end,
|
|
|
|
|
if F9 == undefined -> ok;
|
|
|
|
|
true -> v_type_string(F9, [access_token | Path], TrUserData)
|
|
|
|
|
true -> v_type_string(F8, [access_token | Path], TrUserData)
|
|
|
|
|
end,
|
|
|
|
|
ok;
|
|
|
|
|
v_msg_sdl_register_super(X, Path, _TrUserData) -> mk_type_error({expected_msg, sdl_register_super}, X, Path).
|
|
|
|
|
@ -3354,17 +3467,21 @@ get_msg_defs() ->
|
|
|
|
|
#field{name = v4, fnum = 2, rnum = 3, type = bytes, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = nat_type, fnum = 3, rnum = 4, type = uint32, occurrence = defaulty, opts = []}]},
|
|
|
|
|
{{msg, sdl_v6_info}, [#field{name = port, fnum = 1, rnum = 2, type = uint32, occurrence = defaulty, opts = []}, #field{name = v6, fnum = 2, rnum = 3, type = bytes, occurrence = defaulty, opts = []}]},
|
|
|
|
|
{{msg, sdl_welcome},
|
|
|
|
|
[#field{name = version, fnum = 1, rnum = 2, type = uint32, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = max_bidi_streams, fnum = 2, rnum = 3, type = uint32, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = max_packet_size, fnum = 3, rnum = 4, type = uint32, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = heartbeat_sec, fnum = 4, rnum = 5, type = uint32, occurrence = defaulty, opts = []}]},
|
|
|
|
|
{{msg, sdl_empty}, []},
|
|
|
|
|
{{msg, sdl_register_super},
|
|
|
|
|
[#field{name = version, fnum = 1, rnum = 2, type = uint32, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = client_id, fnum = 2, rnum = 3, type = string, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = network_id, fnum = 3, rnum = 4, type = uint32, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = mac, fnum = 4, rnum = 5, type = bytes, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = ip, fnum = 5, rnum = 6, type = uint32, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = mask_len, fnum = 6, rnum = 7, type = uint32, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = hostname, fnum = 7, rnum = 8, type = string, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = pub_key, fnum = 8, rnum = 9, type = string, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = access_token, fnum = 9, rnum = 10, type = string, occurrence = defaulty, opts = []}]},
|
|
|
|
|
[#field{name = client_id, fnum = 1, rnum = 2, type = string, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = network_id, fnum = 2, rnum = 3, type = uint32, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = mac, fnum = 3, rnum = 4, type = bytes, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = ip, fnum = 4, rnum = 5, type = uint32, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = mask_len, fnum = 5, rnum = 6, type = uint32, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = hostname, fnum = 6, rnum = 7, type = string, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = pub_key, fnum = 7, rnum = 8, type = string, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = access_token, fnum = 8, rnum = 9, type = string, occurrence = defaulty, opts = []}]},
|
|
|
|
|
{{msg, sdl_register_super_ack}, [#field{name = aes_key, fnum = 1, rnum = 2, type = bytes, occurrence = defaulty, opts = []}, #field{name = session_token, fnum = 2, rnum = 3, type = bytes, occurrence = defaulty, opts = []}]},
|
|
|
|
|
{{msg, sdl_register_super_nak}, [#field{name = error_code, fnum = 1, rnum = 2, type = uint32, occurrence = defaulty, opts = []}, #field{name = error_message, fnum = 2, rnum = 3, type = string, occurrence = defaulty, opts = []}]},
|
|
|
|
|
{{msg, sdl_query_info}, [#field{name = dst_mac, fnum = 1, rnum = 2, type = bytes, occurrence = defaulty, opts = []}]},
|
|
|
|
|
@ -3431,6 +3548,7 @@ get_msg_defs() ->
|
|
|
|
|
get_msg_names() ->
|
|
|
|
|
[sdl_v4_info,
|
|
|
|
|
sdl_v6_info,
|
|
|
|
|
sdl_welcome,
|
|
|
|
|
sdl_empty,
|
|
|
|
|
sdl_register_super,
|
|
|
|
|
sdl_register_super_ack,
|
|
|
|
|
@ -3459,6 +3577,7 @@ get_group_names() -> [].
|
|
|
|
|
get_msg_or_group_names() ->
|
|
|
|
|
[sdl_v4_info,
|
|
|
|
|
sdl_v6_info,
|
|
|
|
|
sdl_welcome,
|
|
|
|
|
sdl_empty,
|
|
|
|
|
sdl_register_super,
|
|
|
|
|
sdl_register_super_ack,
|
|
|
|
|
@ -3500,17 +3619,21 @@ find_msg_def(sdl_v4_info) ->
|
|
|
|
|
#field{name = v4, fnum = 2, rnum = 3, type = bytes, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = nat_type, fnum = 3, rnum = 4, type = uint32, occurrence = defaulty, opts = []}];
|
|
|
|
|
find_msg_def(sdl_v6_info) -> [#field{name = port, fnum = 1, rnum = 2, type = uint32, occurrence = defaulty, opts = []}, #field{name = v6, fnum = 2, rnum = 3, type = bytes, occurrence = defaulty, opts = []}];
|
|
|
|
|
find_msg_def(sdl_welcome) ->
|
|
|
|
|
[#field{name = version, fnum = 1, rnum = 2, type = uint32, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = max_bidi_streams, fnum = 2, rnum = 3, type = uint32, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = max_packet_size, fnum = 3, rnum = 4, type = uint32, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = heartbeat_sec, fnum = 4, rnum = 5, type = uint32, occurrence = defaulty, opts = []}];
|
|
|
|
|
find_msg_def(sdl_empty) -> [];
|
|
|
|
|
find_msg_def(sdl_register_super) ->
|
|
|
|
|
[#field{name = version, fnum = 1, rnum = 2, type = uint32, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = client_id, fnum = 2, rnum = 3, type = string, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = network_id, fnum = 3, rnum = 4, type = uint32, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = mac, fnum = 4, rnum = 5, type = bytes, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = ip, fnum = 5, rnum = 6, type = uint32, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = mask_len, fnum = 6, rnum = 7, type = uint32, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = hostname, fnum = 7, rnum = 8, type = string, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = pub_key, fnum = 8, rnum = 9, type = string, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = access_token, fnum = 9, rnum = 10, type = string, occurrence = defaulty, opts = []}];
|
|
|
|
|
[#field{name = client_id, fnum = 1, rnum = 2, type = string, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = network_id, fnum = 2, rnum = 3, type = uint32, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = mac, fnum = 3, rnum = 4, type = bytes, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = ip, fnum = 4, rnum = 5, type = uint32, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = mask_len, fnum = 5, rnum = 6, type = uint32, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = hostname, fnum = 6, rnum = 7, type = string, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = pub_key, fnum = 7, rnum = 8, type = string, occurrence = defaulty, opts = []},
|
|
|
|
|
#field{name = access_token, fnum = 8, rnum = 9, type = string, occurrence = defaulty, opts = []}];
|
|
|
|
|
find_msg_def(sdl_register_super_ack) -> [#field{name = aes_key, fnum = 1, rnum = 2, type = bytes, occurrence = defaulty, opts = []}, #field{name = session_token, fnum = 2, rnum = 3, type = bytes, occurrence = defaulty, opts = []}];
|
|
|
|
|
find_msg_def(sdl_register_super_nak) -> [#field{name = error_code, fnum = 1, rnum = 2, type = uint32, occurrence = defaulty, opts = []}, #field{name = error_message, fnum = 2, rnum = 3, type = string, occurrence = defaulty, opts = []}];
|
|
|
|
|
find_msg_def(sdl_query_info) -> [#field{name = dst_mac, fnum = 1, rnum = 2, type = bytes, occurrence = defaulty, opts = []}];
|
|
|
|
|
@ -3632,6 +3755,7 @@ service_and_rpc_name_to_fqbins(S, R) -> error({gpb_error, {badservice_or_rpc, {S
|
|
|
|
|
|
|
|
|
|
fqbin_to_msg_name(<<"SDLV4Info">>) -> sdl_v4_info;
|
|
|
|
|
fqbin_to_msg_name(<<"SDLV6Info">>) -> sdl_v6_info;
|
|
|
|
|
fqbin_to_msg_name(<<"SDLWelcome">>) -> sdl_welcome;
|
|
|
|
|
fqbin_to_msg_name(<<"SDLEmpty">>) -> sdl_empty;
|
|
|
|
|
fqbin_to_msg_name(<<"SDLRegisterSuper">>) -> sdl_register_super;
|
|
|
|
|
fqbin_to_msg_name(<<"SDLRegisterSuperAck">>) -> sdl_register_super_ack;
|
|
|
|
|
@ -3657,6 +3781,7 @@ fqbin_to_msg_name(E) -> error({gpb_error, {badmsg, E}}).
|
|
|
|
|
|
|
|
|
|
msg_name_to_fqbin(sdl_v4_info) -> <<"SDLV4Info">>;
|
|
|
|
|
msg_name_to_fqbin(sdl_v6_info) -> <<"SDLV6Info">>;
|
|
|
|
|
msg_name_to_fqbin(sdl_welcome) -> <<"SDLWelcome">>;
|
|
|
|
|
msg_name_to_fqbin(sdl_empty) -> <<"SDLEmpty">>;
|
|
|
|
|
msg_name_to_fqbin(sdl_register_super) -> <<"SDLRegisterSuper">>;
|
|
|
|
|
msg_name_to_fqbin(sdl_register_super_ack) -> <<"SDLRegisterSuperAck">>;
|
|
|
|
|
@ -3737,7 +3862,8 @@ get_msg_containment("sdlan_pb") ->
|
|
|
|
|
sdl_stun_reply,
|
|
|
|
|
sdl_stun_request,
|
|
|
|
|
sdl_v4_info,
|
|
|
|
|
sdl_v6_info];
|
|
|
|
|
sdl_v6_info,
|
|
|
|
|
sdl_welcome];
|
|
|
|
|
get_msg_containment(P) -> error({gpb_error, {badproto, P}}).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -3766,6 +3892,7 @@ get_proto_by_msg_name_as_fqbin(<<"SDLPolicyRequest">>) -> "sdlan_pb";
|
|
|
|
|
get_proto_by_msg_name_as_fqbin(<<"SDLNetworkShutdownEvent">>) -> "sdlan_pb";
|
|
|
|
|
get_proto_by_msg_name_as_fqbin(<<"SDLNatChangedEvent">>) -> "sdlan_pb";
|
|
|
|
|
get_proto_by_msg_name_as_fqbin(<<"SDLArpRequest">>) -> "sdlan_pb";
|
|
|
|
|
get_proto_by_msg_name_as_fqbin(<<"SDLWelcome">>) -> "sdlan_pb";
|
|
|
|
|
get_proto_by_msg_name_as_fqbin(<<"SDLStunProbe">>) -> "sdlan_pb";
|
|
|
|
|
get_proto_by_msg_name_as_fqbin(<<"SDLPolicyResponse">>) -> "sdlan_pb";
|
|
|
|
|
get_proto_by_msg_name_as_fqbin(<<"SDLArpResponse">>) -> "sdlan_pb";
|
|
|
|
|
|