Current section

Files

Jump to
kaa src kaa.erl
Raw

src/kaa.erl

%% -*- coding: utf-8 -*-
%% Automatically generated, do not edit
%% Generated by gpb_compile version 4.1.3
-module(kaa).
-export([encode_msg/1, encode_msg/2]).
-export([decode_msg/2, decode_msg/3]).
-export([merge_msgs/2, merge_msgs/3]).
-export([verify_msg/1, verify_msg/2]).
-export([get_msg_defs/0]).
-export([get_msg_names/0]).
-export([get_group_names/0]).
-export([get_msg_or_group_names/0]).
-export([get_enum_names/0]).
-export([find_msg_def/1, fetch_msg_def/1]).
-export([find_enum_def/1, fetch_enum_def/1]).
-export([enum_symbol_by_value/2, enum_value_by_symbol/2]).
-export([enum_symbol_by_value_mods/1, enum_value_by_symbol_mods/1]).
-export([enum_symbol_by_value_funs/1, enum_value_by_symbol_funs/1]).
-export([get_service_names/0]).
-export([get_service_def/1]).
-export([get_rpc_names/1]).
-export([find_rpc_def/2, fetch_rpc_def/2]).
-export([get_package_name/0]).
-export([gpb_version_as_string/0, gpb_version_as_list/0]).
-include("kaa.hrl").
-include("gpb.hrl").
%% enumerated types
-type 'mods'() :: 'jun_pandas' | 'jun_plotly' | 'jun_seaborn' | 'jun_pandas_series' | 'jun_pandas_timedelta'.
-type 'funs'() :: 'read_csv' | 'to_csv' | 'to_html' | 'to_json' | 'to_datetime' | 'read_sql' | 'sum' | 'max' | 'min' | 'count' | 'median' | 'unique' | 'query' | 'head' | 'tail' | 'columns' | 'len_columns' | 'len_index' | 'memory_usage' | 'info_columns' | 'selection' | 'single_selection' | 'plot' | 'groupby' | 'apply' | 'sort_values' | 'sort_index' | 'iplot' | 'lmplot' | 'factorplot' | 'pairplot' | 'jointplot' | 'stripplot' | 'swarmplot' | 'boxplot' | 'violinplot' | 'lvplot' | 'pointplot' | 'barplot' | 'countplot' | 'legacy_query' | 'legacy_assignment' | 'drop' | 'rename' | 'combine' | 'days'.
-export_type(['mods'/0, 'funs'/0]).
%% message types
-type 'Keywords'() :: #'Keywords'{}.
-type m_frame() :: #m_frame{}.
-type m_core() :: #m_core{}.
-type 'Kaa'() :: #'Kaa'{}.
-export_type(['Keywords'/0, 'm_frame'/0, 'm_core'/0, 'Kaa'/0]).
-spec encode_msg(#'Keywords'{} | #m_frame{} | #m_core{} | #'Kaa'{}) -> binary().
encode_msg(Msg) -> encode_msg(Msg, []).
-spec encode_msg(#'Keywords'{} | #m_frame{} | #m_core{} | #'Kaa'{}, list()) -> binary().
encode_msg(Msg, Opts) ->
case proplists:get_bool(verify, Opts) of
true -> verify_msg(Msg, Opts);
false -> ok
end,
TrUserData = proplists:get_value(user_data, Opts),
case Msg of
#'Keywords'{} -> e_msg_Keywords(Msg, TrUserData);
#m_frame{} -> e_msg_m_frame(Msg, TrUserData);
#m_core{} -> e_msg_m_core(Msg, TrUserData);
#'Kaa'{} -> e_msg_Kaa(Msg, TrUserData)
end.
e_msg_Keywords(Msg, TrUserData) ->
e_msg_Keywords(Msg, <<>>, TrUserData).
e_msg_Keywords(#'Keywords'{key = F1, value = F2}, Bin,
TrUserData) ->
B1 = begin
TrF1 = id(F1, TrUserData),
e_type_string(TrF1, <<Bin/binary, 10>>)
end,
begin
TrF2 = id(F2, TrUserData),
e_type_string(TrF2, <<B1/binary, 18>>)
end.
e_msg_m_frame(Msg, TrUserData) ->
e_msg_m_frame(Msg, <<>>, TrUserData).
e_msg_m_frame(#m_frame{dataframe = F1, axis = F2,
keywords = F3},
Bin, TrUserData) ->
B1 = begin
TrF1 = id(F1, TrUserData),
e_type_string(TrF1, <<Bin/binary, 10>>)
end,
B2 = if F2 == undefined -> B1;
true ->
begin
TrF2 = id(F2, TrUserData),
e_type_string(TrF2, <<B1/binary, 18>>)
end
end,
begin
TrF3 = id(F3, TrUserData),
if TrF3 == [] -> B2;
true -> e_field_m_frame_keywords(TrF3, B2, TrUserData)
end
end.
e_msg_m_core(Msg, TrUserData) ->
e_msg_m_core(Msg, <<>>, TrUserData).
e_msg_m_core(#m_core{argument = F1, keywords = F2}, Bin,
TrUserData) ->
B1 = begin
TrF1 = id(F1, TrUserData),
e_type_string(TrF1, <<Bin/binary, 10>>)
end,
begin
TrF2 = id(F2, TrUserData),
if TrF2 == [] -> B1;
true -> e_field_m_core_keywords(TrF2, B1, TrUserData)
end
end.
e_msg_Kaa(Msg, TrUserData) ->
e_msg_Kaa(Msg, <<>>, TrUserData).
e_msg_Kaa(#'Kaa'{module = F1, function = F2,
jun_worker = F3, arguments = F4},
Bin, TrUserData) ->
B1 = begin
TrF1 = id(F1, TrUserData),
e_enum_mods(TrF1, <<Bin/binary, 8>>)
end,
B2 = begin
TrF2 = id(F2, TrUserData),
e_enum_funs(TrF2, <<B1/binary, 16>>)
end,
B3 = begin
TrF3 = id(F3, TrUserData),
e_type_string(TrF3, <<B2/binary, 26>>)
end,
case F4 of
undefined -> B3;
{core, OF4} ->
begin
TrOF4 = id(OF4, TrUserData),
e_mfield_Kaa_core(TrOF4, <<B3/binary, 34>>, TrUserData)
end;
{frame, OF4} ->
begin
TrOF4 = id(OF4, TrUserData),
e_mfield_Kaa_frame(TrOF4, <<B3/binary, 42>>, TrUserData)
end
end.
e_mfield_m_frame_keywords(Msg, Bin, TrUserData) ->
SubBin = e_msg_Keywords(Msg, <<>>, TrUserData),
Bin2 = e_varint(byte_size(SubBin), Bin),
<<Bin2/binary, SubBin/binary>>.
e_field_m_frame_keywords([Elem | Rest], Bin,
TrUserData) ->
Bin2 = <<Bin/binary, 26>>,
Bin3 = e_mfield_m_frame_keywords(id(Elem, TrUserData),
Bin2, TrUserData),
e_field_m_frame_keywords(Rest, Bin3, TrUserData);
e_field_m_frame_keywords([], Bin, _TrUserData) -> Bin.
e_mfield_m_core_keywords(Msg, Bin, TrUserData) ->
SubBin = e_msg_Keywords(Msg, <<>>, TrUserData),
Bin2 = e_varint(byte_size(SubBin), Bin),
<<Bin2/binary, SubBin/binary>>.
e_field_m_core_keywords([Elem | Rest], Bin,
TrUserData) ->
Bin2 = <<Bin/binary, 18>>,
Bin3 = e_mfield_m_core_keywords(id(Elem, TrUserData),
Bin2, TrUserData),
e_field_m_core_keywords(Rest, Bin3, TrUserData);
e_field_m_core_keywords([], Bin, _TrUserData) -> Bin.
e_mfield_Kaa_core(Msg, Bin, TrUserData) ->
SubBin = e_msg_m_core(Msg, <<>>, TrUserData),
Bin2 = e_varint(byte_size(SubBin), Bin),
<<Bin2/binary, SubBin/binary>>.
e_mfield_Kaa_frame(Msg, Bin, TrUserData) ->
SubBin = e_msg_m_frame(Msg, <<>>, TrUserData),
Bin2 = e_varint(byte_size(SubBin), Bin),
<<Bin2/binary, SubBin/binary>>.
e_enum_mods(jun_pandas, Bin) -> <<Bin/binary, 0>>;
e_enum_mods(jun_plotly, Bin) -> <<Bin/binary, 1>>;
e_enum_mods(jun_seaborn, Bin) -> <<Bin/binary, 2>>;
e_enum_mods(jun_pandas_series, Bin) ->
<<Bin/binary, 3>>;
e_enum_mods(jun_pandas_timedelta, Bin) ->
<<Bin/binary, 4>>;
e_enum_mods(V, Bin) -> e_varint(V, Bin).
e_enum_funs(read_csv, Bin) -> <<Bin/binary, 0>>;
e_enum_funs(to_csv, Bin) -> <<Bin/binary, 7>>;
e_enum_funs(to_html, Bin) -> <<Bin/binary, 8>>;
e_enum_funs(to_json, Bin) -> <<Bin/binary, 9>>;
e_enum_funs(to_datetime, Bin) -> <<Bin/binary, 43>>;
e_enum_funs(read_sql, Bin) -> <<Bin/binary, 45>>;
e_enum_funs(sum, Bin) -> <<Bin/binary, 1>>;
e_enum_funs(max, Bin) -> <<Bin/binary, 2>>;
e_enum_funs(min, Bin) -> <<Bin/binary, 3>>;
e_enum_funs(count, Bin) -> <<Bin/binary, 4>>;
e_enum_funs(median, Bin) -> <<Bin/binary, 5>>;
e_enum_funs(unique, Bin) -> <<Bin/binary, 40>>;
e_enum_funs(query, Bin) -> <<Bin/binary, 6>>;
e_enum_funs(head, Bin) -> <<Bin/binary, 15>>;
e_enum_funs(tail, Bin) -> <<Bin/binary, 16>>;
e_enum_funs(columns, Bin) -> <<Bin/binary, 10>>;
e_enum_funs(len_columns, Bin) -> <<Bin/binary, 11>>;
e_enum_funs(len_index, Bin) -> <<Bin/binary, 12>>;
e_enum_funs(memory_usage, Bin) -> <<Bin/binary, 13>>;
e_enum_funs(info_columns, Bin) -> <<Bin/binary, 14>>;
e_enum_funs(selection, Bin) -> <<Bin/binary, 18>>;
e_enum_funs(single_selection, Bin) ->
<<Bin/binary, 42>>;
e_enum_funs(plot, Bin) -> <<Bin/binary, 17>>;
e_enum_funs(groupby, Bin) -> <<Bin/binary, 19>>;
e_enum_funs(apply, Bin) -> <<Bin/binary, 36>>;
e_enum_funs(sort_values, Bin) -> <<Bin/binary, 20>>;
e_enum_funs(sort_index, Bin) -> <<Bin/binary, 21>>;
e_enum_funs(iplot, Bin) -> <<Bin/binary, 23>>;
e_enum_funs(lmplot, Bin) -> <<Bin/binary, 24>>;
e_enum_funs(factorplot, Bin) -> <<Bin/binary, 25>>;
e_enum_funs(pairplot, Bin) -> <<Bin/binary, 26>>;
e_enum_funs(jointplot, Bin) -> <<Bin/binary, 27>>;
e_enum_funs(stripplot, Bin) -> <<Bin/binary, 28>>;
e_enum_funs(swarmplot, Bin) -> <<Bin/binary, 29>>;
e_enum_funs(boxplot, Bin) -> <<Bin/binary, 30>>;
e_enum_funs(violinplot, Bin) -> <<Bin/binary, 31>>;
e_enum_funs(lvplot, Bin) -> <<Bin/binary, 32>>;
e_enum_funs(pointplot, Bin) -> <<Bin/binary, 33>>;
e_enum_funs(barplot, Bin) -> <<Bin/binary, 34>>;
e_enum_funs(countplot, Bin) -> <<Bin/binary, 35>>;
e_enum_funs(legacy_query, Bin) -> <<Bin/binary, 22>>;
e_enum_funs(legacy_assignment, Bin) ->
<<Bin/binary, 37>>;
e_enum_funs(drop, Bin) -> <<Bin/binary, 38>>;
e_enum_funs(rename, Bin) -> <<Bin/binary, 41>>;
e_enum_funs(combine, Bin) -> <<Bin/binary, 39>>;
e_enum_funs(days, Bin) -> <<Bin/binary, 44>>;
e_enum_funs(V, Bin) -> e_varint(V, Bin).
e_type_string(S, Bin) ->
Utf8 = unicode:characters_to_binary(S),
Bin2 = e_varint(byte_size(Utf8), Bin),
<<Bin2/binary, Utf8/binary>>.
e_varint(N, Bin) when N =< 127 -> <<Bin/binary, N>>;
e_varint(N, Bin) ->
Bin2 = <<Bin/binary, (N band 127 bor 128)>>,
e_varint(N bsr 7, Bin2).
decode_msg(Bin, MsgName) when is_binary(Bin) ->
decode_msg(Bin, MsgName, []).
decode_msg(Bin, MsgName, Opts) when is_binary(Bin) ->
TrUserData = proplists:get_value(user_data, Opts),
case MsgName of
'Keywords' ->
try d_msg_Keywords(Bin, TrUserData) catch
Class:Reason ->
StackTrace = erlang:get_stacktrace(),
error({gpb_error,
{decoding_failure,
{Bin, 'Keywords', {Class, Reason, StackTrace}}}})
end;
m_frame ->
try d_msg_m_frame(Bin, TrUserData) catch
Class:Reason ->
StackTrace = erlang:get_stacktrace(),
error({gpb_error,
{decoding_failure,
{Bin, m_frame, {Class, Reason, StackTrace}}}})
end;
m_core ->
try d_msg_m_core(Bin, TrUserData) catch
Class:Reason ->
StackTrace = erlang:get_stacktrace(),
error({gpb_error,
{decoding_failure,
{Bin, m_core, {Class, Reason, StackTrace}}}})
end;
'Kaa' ->
try d_msg_Kaa(Bin, TrUserData) catch
Class:Reason ->
StackTrace = erlang:get_stacktrace(),
error({gpb_error,
{decoding_failure,
{Bin, 'Kaa', {Class, Reason, StackTrace}}}})
end
end.
d_msg_Keywords(Bin, TrUserData) ->
dfp_read_field_def_Keywords(Bin, 0, 0,
id(undefined, TrUserData),
id(undefined, TrUserData), TrUserData).
dfp_read_field_def_Keywords(<<10, Rest/binary>>, Z1, Z2,
F@_1, F@_2, TrUserData) ->
d_field_Keywords_key(Rest, Z1, Z2, F@_1, F@_2,
TrUserData);
dfp_read_field_def_Keywords(<<18, Rest/binary>>, Z1, Z2,
F@_1, F@_2, TrUserData) ->
d_field_Keywords_value(Rest, Z1, Z2, F@_1, F@_2,
TrUserData);
dfp_read_field_def_Keywords(<<>>, 0, 0, F@_1, F@_2,
_) ->
#'Keywords'{key = F@_1, value = F@_2};
dfp_read_field_def_Keywords(Other, Z1, Z2, F@_1, F@_2,
TrUserData) ->
dg_read_field_def_Keywords(Other, Z1, Z2, F@_1, F@_2,
TrUserData).
dg_read_field_def_Keywords(<<1:1, X:7, Rest/binary>>, N,
Acc, F@_1, F@_2, TrUserData)
when N < 32 - 7 ->
dg_read_field_def_Keywords(Rest, N + 7, X bsl N + Acc,
F@_1, F@_2, TrUserData);
dg_read_field_def_Keywords(<<0:1, X:7, Rest/binary>>, N,
Acc, F@_1, F@_2, TrUserData) ->
Key = X bsl N + Acc,
case Key of
10 ->
d_field_Keywords_key(Rest, 0, 0, F@_1, F@_2,
TrUserData);
18 ->
d_field_Keywords_value(Rest, 0, 0, F@_1, F@_2,
TrUserData);
_ ->
case Key band 7 of
0 ->
skip_varint_Keywords(Rest, 0, 0, F@_1, F@_2,
TrUserData);
1 ->
skip_64_Keywords(Rest, 0, 0, F@_1, F@_2, TrUserData);
2 ->
skip_length_delimited_Keywords(Rest, 0, 0, F@_1, F@_2,
TrUserData);
3 ->
skip_group_Keywords(Rest, Key bsr 3, 0, F@_1, F@_2,
TrUserData);
5 ->
skip_32_Keywords(Rest, 0, 0, F@_1, F@_2, TrUserData)
end
end;
dg_read_field_def_Keywords(<<>>, 0, 0, F@_1, F@_2, _) ->
#'Keywords'{key = F@_1, value = F@_2}.
d_field_Keywords_key(<<1:1, X:7, Rest/binary>>, N, Acc,
F@_1, F@_2, TrUserData)
when N < 57 ->
d_field_Keywords_key(Rest, N + 7, X bsl N + Acc, F@_1,
F@_2, TrUserData);
d_field_Keywords_key(<<0:1, X:7, Rest/binary>>, N, Acc,
_, F@_2, TrUserData) ->
{NewFValue, RestF} = begin
Len = X bsl N + Acc,
<<Utf8:Len/binary, Rest2/binary>> = Rest,
{unicode:characters_to_list(Utf8, unicode), Rest2}
end,
dfp_read_field_def_Keywords(RestF, 0, 0, NewFValue,
F@_2, TrUserData).
d_field_Keywords_value(<<1:1, X:7, Rest/binary>>, N,
Acc, F@_1, F@_2, TrUserData)
when N < 57 ->
d_field_Keywords_value(Rest, N + 7, X bsl N + Acc, F@_1,
F@_2, TrUserData);
d_field_Keywords_value(<<0:1, X:7, Rest/binary>>, N,
Acc, F@_1, _, TrUserData) ->
{NewFValue, RestF} = begin
Len = X bsl N + Acc,
<<Utf8:Len/binary, Rest2/binary>> = Rest,
{unicode:characters_to_list(Utf8, unicode), Rest2}
end,
dfp_read_field_def_Keywords(RestF, 0, 0, F@_1,
NewFValue, TrUserData).
skip_varint_Keywords(<<1:1, _:7, Rest/binary>>, Z1, Z2,
F@_1, F@_2, TrUserData) ->
skip_varint_Keywords(Rest, Z1, Z2, F@_1, F@_2,
TrUserData);
skip_varint_Keywords(<<0:1, _:7, Rest/binary>>, Z1, Z2,
F@_1, F@_2, TrUserData) ->
dfp_read_field_def_Keywords(Rest, Z1, Z2, F@_1, F@_2,
TrUserData).
skip_length_delimited_Keywords(<<1:1, X:7,
Rest/binary>>,
N, Acc, F@_1, F@_2, TrUserData)
when N < 57 ->
skip_length_delimited_Keywords(Rest, N + 7,
X bsl N + Acc, F@_1, F@_2, TrUserData);
skip_length_delimited_Keywords(<<0:1, X:7,
Rest/binary>>,
N, Acc, F@_1, F@_2, TrUserData) ->
Length = X bsl N + Acc,
<<_:Length/binary, Rest2/binary>> = Rest,
dfp_read_field_def_Keywords(Rest2, 0, 0, F@_1, F@_2,
TrUserData).
skip_group_Keywords(Bin, FNum, Z2, F@_1, F@_2,
TrUserData) ->
{_, Rest} = read_group(Bin, FNum),
dfp_read_field_def_Keywords(Rest, 0, Z2, F@_1, F@_2,
TrUserData).
skip_32_Keywords(<<_:32, Rest/binary>>, Z1, Z2, F@_1,
F@_2, TrUserData) ->
dfp_read_field_def_Keywords(Rest, Z1, Z2, F@_1, F@_2,
TrUserData).
skip_64_Keywords(<<_:64, Rest/binary>>, Z1, Z2, F@_1,
F@_2, TrUserData) ->
dfp_read_field_def_Keywords(Rest, Z1, Z2, F@_1, F@_2,
TrUserData).
d_msg_m_frame(Bin, TrUserData) ->
dfp_read_field_def_m_frame(Bin, 0, 0,
id(undefined, TrUserData),
id(undefined, TrUserData), id([], TrUserData),
TrUserData).
dfp_read_field_def_m_frame(<<10, Rest/binary>>, Z1, Z2,
F@_1, F@_2, F@_3, TrUserData) ->
d_field_m_frame_dataframe(Rest, Z1, Z2, F@_1, F@_2,
F@_3, TrUserData);
dfp_read_field_def_m_frame(<<18, Rest/binary>>, Z1, Z2,
F@_1, F@_2, F@_3, TrUserData) ->
d_field_m_frame_axis(Rest, Z1, Z2, F@_1, F@_2, F@_3,
TrUserData);
dfp_read_field_def_m_frame(<<26, Rest/binary>>, Z1, Z2,
F@_1, F@_2, F@_3, TrUserData) ->
d_field_m_frame_keywords(Rest, Z1, Z2, F@_1, F@_2, F@_3,
TrUserData);
dfp_read_field_def_m_frame(<<>>, 0, 0, F@_1, F@_2, R1,
TrUserData) ->
#m_frame{dataframe = F@_1, axis = F@_2,
keywords = lists_reverse(R1, TrUserData)};
dfp_read_field_def_m_frame(Other, Z1, Z2, F@_1, F@_2,
F@_3, TrUserData) ->
dg_read_field_def_m_frame(Other, Z1, Z2, F@_1, F@_2,
F@_3, TrUserData).
dg_read_field_def_m_frame(<<1:1, X:7, Rest/binary>>, N,
Acc, F@_1, F@_2, F@_3, TrUserData)
when N < 32 - 7 ->
dg_read_field_def_m_frame(Rest, N + 7, X bsl N + Acc,
F@_1, F@_2, F@_3, TrUserData);
dg_read_field_def_m_frame(<<0:1, X:7, Rest/binary>>, N,
Acc, F@_1, F@_2, F@_3, TrUserData) ->
Key = X bsl N + Acc,
case Key of
10 ->
d_field_m_frame_dataframe(Rest, 0, 0, F@_1, F@_2, F@_3,
TrUserData);
18 ->
d_field_m_frame_axis(Rest, 0, 0, F@_1, F@_2, F@_3,
TrUserData);
26 ->
d_field_m_frame_keywords(Rest, 0, 0, F@_1, F@_2, F@_3,
TrUserData);
_ ->
case Key band 7 of
0 ->
skip_varint_m_frame(Rest, 0, 0, F@_1, F@_2, F@_3,
TrUserData);
1 ->
skip_64_m_frame(Rest, 0, 0, F@_1, F@_2, F@_3,
TrUserData);
2 ->
skip_length_delimited_m_frame(Rest, 0, 0, F@_1, F@_2,
F@_3, TrUserData);
3 ->
skip_group_m_frame(Rest, Key bsr 3, 0, F@_1, F@_2, F@_3,
TrUserData);
5 ->
skip_32_m_frame(Rest, 0, 0, F@_1, F@_2, F@_3,
TrUserData)
end
end;
dg_read_field_def_m_frame(<<>>, 0, 0, F@_1, F@_2, R1,
TrUserData) ->
#m_frame{dataframe = F@_1, axis = F@_2,
keywords = lists_reverse(R1, TrUserData)}.
d_field_m_frame_dataframe(<<1:1, X:7, Rest/binary>>, N,
Acc, F@_1, F@_2, F@_3, TrUserData)
when N < 57 ->
d_field_m_frame_dataframe(Rest, N + 7, X bsl N + Acc,
F@_1, F@_2, F@_3, TrUserData);
d_field_m_frame_dataframe(<<0:1, X:7, Rest/binary>>, N,
Acc, _, F@_2, F@_3, TrUserData) ->
{NewFValue, RestF} = begin
Len = X bsl N + Acc,
<<Utf8:Len/binary, Rest2/binary>> = Rest,
{unicode:characters_to_list(Utf8, unicode), Rest2}
end,
dfp_read_field_def_m_frame(RestF, 0, 0, NewFValue, F@_2,
F@_3, TrUserData).
d_field_m_frame_axis(<<1:1, X:7, Rest/binary>>, N, Acc,
F@_1, F@_2, F@_3, TrUserData)
when N < 57 ->
d_field_m_frame_axis(Rest, N + 7, X bsl N + Acc, F@_1,
F@_2, F@_3, TrUserData);
d_field_m_frame_axis(<<0:1, X:7, Rest/binary>>, N, Acc,
F@_1, _, F@_3, TrUserData) ->
{NewFValue, RestF} = begin
Len = X bsl N + Acc,
<<Utf8:Len/binary, Rest2/binary>> = Rest,
{unicode:characters_to_list(Utf8, unicode), Rest2}
end,
dfp_read_field_def_m_frame(RestF, 0, 0, F@_1, NewFValue,
F@_3, TrUserData).
d_field_m_frame_keywords(<<1:1, X:7, Rest/binary>>, N,
Acc, F@_1, F@_2, F@_3, TrUserData)
when N < 57 ->
d_field_m_frame_keywords(Rest, N + 7, X bsl N + Acc,
F@_1, F@_2, F@_3, TrUserData);
d_field_m_frame_keywords(<<0:1, X:7, Rest/binary>>, N,
Acc, F@_1, F@_2, Prev, TrUserData) ->
{NewFValue, RestF} = begin
Len = X bsl N + Acc,
<<Bs:Len/binary, Rest2/binary>> = Rest,
{id(d_msg_Keywords(Bs, TrUserData), TrUserData),
Rest2}
end,
dfp_read_field_def_m_frame(RestF, 0, 0, F@_1, F@_2,
cons(NewFValue, Prev, TrUserData), TrUserData).
skip_varint_m_frame(<<1:1, _:7, Rest/binary>>, Z1, Z2,
F@_1, F@_2, F@_3, TrUserData) ->
skip_varint_m_frame(Rest, Z1, Z2, F@_1, F@_2, F@_3,
TrUserData);
skip_varint_m_frame(<<0:1, _:7, Rest/binary>>, Z1, Z2,
F@_1, F@_2, F@_3, TrUserData) ->
dfp_read_field_def_m_frame(Rest, Z1, Z2, F@_1, F@_2,
F@_3, TrUserData).
skip_length_delimited_m_frame(<<1:1, X:7, Rest/binary>>,
N, Acc, F@_1, F@_2, F@_3, TrUserData)
when N < 57 ->
skip_length_delimited_m_frame(Rest, N + 7,
X bsl N + Acc, F@_1, F@_2, F@_3, TrUserData);
skip_length_delimited_m_frame(<<0:1, X:7, Rest/binary>>,
N, Acc, F@_1, F@_2, F@_3, TrUserData) ->
Length = X bsl N + Acc,
<<_:Length/binary, Rest2/binary>> = Rest,
dfp_read_field_def_m_frame(Rest2, 0, 0, F@_1, F@_2,
F@_3, TrUserData).
skip_group_m_frame(Bin, FNum, Z2, F@_1, F@_2, F@_3,
TrUserData) ->
{_, Rest} = read_group(Bin, FNum),
dfp_read_field_def_m_frame(Rest, 0, Z2, F@_1, F@_2,
F@_3, TrUserData).
skip_32_m_frame(<<_:32, Rest/binary>>, Z1, Z2, F@_1,
F@_2, F@_3, TrUserData) ->
dfp_read_field_def_m_frame(Rest, Z1, Z2, F@_1, F@_2,
F@_3, TrUserData).
skip_64_m_frame(<<_:64, Rest/binary>>, Z1, Z2, F@_1,
F@_2, F@_3, TrUserData) ->
dfp_read_field_def_m_frame(Rest, Z1, Z2, F@_1, F@_2,
F@_3, TrUserData).
d_msg_m_core(Bin, TrUserData) ->
dfp_read_field_def_m_core(Bin, 0, 0,
id(undefined, TrUserData), id([], TrUserData),
TrUserData).
dfp_read_field_def_m_core(<<10, Rest/binary>>, Z1, Z2,
F@_1, F@_2, TrUserData) ->
d_field_m_core_argument(Rest, Z1, Z2, F@_1, F@_2,
TrUserData);
dfp_read_field_def_m_core(<<18, Rest/binary>>, Z1, Z2,
F@_1, F@_2, TrUserData) ->
d_field_m_core_keywords(Rest, Z1, Z2, F@_1, F@_2,
TrUserData);
dfp_read_field_def_m_core(<<>>, 0, 0, F@_1, R1,
TrUserData) ->
#m_core{argument = F@_1,
keywords = lists_reverse(R1, TrUserData)};
dfp_read_field_def_m_core(Other, Z1, Z2, F@_1, F@_2,
TrUserData) ->
dg_read_field_def_m_core(Other, Z1, Z2, F@_1, F@_2,
TrUserData).
dg_read_field_def_m_core(<<1:1, X:7, Rest/binary>>, N,
Acc, F@_1, F@_2, TrUserData)
when N < 32 - 7 ->
dg_read_field_def_m_core(Rest, N + 7, X bsl N + Acc,
F@_1, F@_2, TrUserData);
dg_read_field_def_m_core(<<0:1, X:7, Rest/binary>>, N,
Acc, F@_1, F@_2, TrUserData) ->
Key = X bsl N + Acc,
case Key of
10 ->
d_field_m_core_argument(Rest, 0, 0, F@_1, F@_2,
TrUserData);
18 ->
d_field_m_core_keywords(Rest, 0, 0, F@_1, F@_2,
TrUserData);
_ ->
case Key band 7 of
0 ->
skip_varint_m_core(Rest, 0, 0, F@_1, F@_2, TrUserData);
1 -> skip_64_m_core(Rest, 0, 0, F@_1, F@_2, TrUserData);
2 ->
skip_length_delimited_m_core(Rest, 0, 0, F@_1, F@_2,
TrUserData);
3 ->
skip_group_m_core(Rest, Key bsr 3, 0, F@_1, F@_2,
TrUserData);
5 -> skip_32_m_core(Rest, 0, 0, F@_1, F@_2, TrUserData)
end
end;
dg_read_field_def_m_core(<<>>, 0, 0, F@_1, R1,
TrUserData) ->
#m_core{argument = F@_1,
keywords = lists_reverse(R1, TrUserData)}.
d_field_m_core_argument(<<1:1, X:7, Rest/binary>>, N,
Acc, F@_1, F@_2, TrUserData)
when N < 57 ->
d_field_m_core_argument(Rest, N + 7, X bsl N + Acc,
F@_1, F@_2, TrUserData);
d_field_m_core_argument(<<0:1, X:7, Rest/binary>>, N,
Acc, _, F@_2, TrUserData) ->
{NewFValue, RestF} = begin
Len = X bsl N + Acc,
<<Utf8:Len/binary, Rest2/binary>> = Rest,
{unicode:characters_to_list(Utf8, unicode), Rest2}
end,
dfp_read_field_def_m_core(RestF, 0, 0, NewFValue, F@_2,
TrUserData).
d_field_m_core_keywords(<<1:1, X:7, Rest/binary>>, N,
Acc, F@_1, F@_2, TrUserData)
when N < 57 ->
d_field_m_core_keywords(Rest, N + 7, X bsl N + Acc,
F@_1, F@_2, TrUserData);
d_field_m_core_keywords(<<0:1, X:7, Rest/binary>>, N,
Acc, F@_1, Prev, TrUserData) ->
{NewFValue, RestF} = begin
Len = X bsl N + Acc,
<<Bs:Len/binary, Rest2/binary>> = Rest,
{id(d_msg_Keywords(Bs, TrUserData), TrUserData),
Rest2}
end,
dfp_read_field_def_m_core(RestF, 0, 0, F@_1,
cons(NewFValue, Prev, TrUserData), TrUserData).
skip_varint_m_core(<<1:1, _:7, Rest/binary>>, Z1, Z2,
F@_1, F@_2, TrUserData) ->
skip_varint_m_core(Rest, Z1, Z2, F@_1, F@_2,
TrUserData);
skip_varint_m_core(<<0:1, _:7, Rest/binary>>, Z1, Z2,
F@_1, F@_2, TrUserData) ->
dfp_read_field_def_m_core(Rest, Z1, Z2, F@_1, F@_2,
TrUserData).
skip_length_delimited_m_core(<<1:1, X:7, Rest/binary>>,
N, Acc, F@_1, F@_2, TrUserData)
when N < 57 ->
skip_length_delimited_m_core(Rest, N + 7, X bsl N + Acc,
F@_1, F@_2, TrUserData);
skip_length_delimited_m_core(<<0:1, X:7, Rest/binary>>,
N, Acc, F@_1, F@_2, TrUserData) ->
Length = X bsl N + Acc,
<<_:Length/binary, Rest2/binary>> = Rest,
dfp_read_field_def_m_core(Rest2, 0, 0, F@_1, F@_2,
TrUserData).
skip_group_m_core(Bin, FNum, Z2, F@_1, F@_2,
TrUserData) ->
{_, Rest} = read_group(Bin, FNum),
dfp_read_field_def_m_core(Rest, 0, Z2, F@_1, F@_2,
TrUserData).
skip_32_m_core(<<_:32, Rest/binary>>, Z1, Z2, F@_1,
F@_2, TrUserData) ->
dfp_read_field_def_m_core(Rest, Z1, Z2, F@_1, F@_2,
TrUserData).
skip_64_m_core(<<_:64, Rest/binary>>, Z1, Z2, F@_1,
F@_2, TrUserData) ->
dfp_read_field_def_m_core(Rest, Z1, Z2, F@_1, F@_2,
TrUserData).
d_msg_Kaa(Bin, TrUserData) ->
dfp_read_field_def_Kaa(Bin, 0, 0,
id(undefined, TrUserData), id(undefined, TrUserData),
id(undefined, TrUserData), id(undefined, TrUserData),
TrUserData).
dfp_read_field_def_Kaa(<<8, Rest/binary>>, Z1, Z2, F@_1,
F@_2, F@_3, F@_4, TrUserData) ->
d_field_Kaa_module(Rest, Z1, Z2, F@_1, F@_2, F@_3, F@_4,
TrUserData);
dfp_read_field_def_Kaa(<<16, Rest/binary>>, Z1, Z2,
F@_1, F@_2, F@_3, F@_4, TrUserData) ->
d_field_Kaa_function(Rest, Z1, Z2, F@_1, F@_2, F@_3,
F@_4, TrUserData);
dfp_read_field_def_Kaa(<<26, Rest/binary>>, Z1, Z2,
F@_1, F@_2, F@_3, F@_4, TrUserData) ->
d_field_Kaa_jun_worker(Rest, Z1, Z2, F@_1, F@_2, F@_3,
F@_4, TrUserData);
dfp_read_field_def_Kaa(<<34, Rest/binary>>, Z1, Z2,
F@_1, F@_2, F@_3, F@_4, TrUserData) ->
d_field_Kaa_core(Rest, Z1, Z2, F@_1, F@_2, F@_3, F@_4,
TrUserData);
dfp_read_field_def_Kaa(<<42, Rest/binary>>, Z1, Z2,
F@_1, F@_2, F@_3, F@_4, TrUserData) ->
d_field_Kaa_frame(Rest, Z1, Z2, F@_1, F@_2, F@_3, F@_4,
TrUserData);
dfp_read_field_def_Kaa(<<>>, 0, 0, F@_1, F@_2, F@_3,
F@_4, _) ->
#'Kaa'{module = F@_1, function = F@_2,
jun_worker = F@_3, arguments = F@_4};
dfp_read_field_def_Kaa(Other, Z1, Z2, F@_1, F@_2, F@_3,
F@_4, TrUserData) ->
dg_read_field_def_Kaa(Other, Z1, Z2, F@_1, F@_2, F@_3,
F@_4, TrUserData).
dg_read_field_def_Kaa(<<1:1, X:7, Rest/binary>>, N, Acc,
F@_1, F@_2, F@_3, F@_4, TrUserData)
when N < 32 - 7 ->
dg_read_field_def_Kaa(Rest, N + 7, X bsl N + Acc, F@_1,
F@_2, F@_3, F@_4, TrUserData);
dg_read_field_def_Kaa(<<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_Kaa_module(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4,
TrUserData);
16 ->
d_field_Kaa_function(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4,
TrUserData);
26 ->
d_field_Kaa_jun_worker(Rest, 0, 0, F@_1, F@_2, F@_3,
F@_4, TrUserData);
34 ->
d_field_Kaa_core(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4,
TrUserData);
42 ->
d_field_Kaa_frame(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4,
TrUserData);
_ ->
case Key band 7 of
0 ->
skip_varint_Kaa(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4,
TrUserData);
1 ->
skip_64_Kaa(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4,
TrUserData);
2 ->
skip_length_delimited_Kaa(Rest, 0, 0, F@_1, F@_2, F@_3,
F@_4, TrUserData);
3 ->
skip_group_Kaa(Rest, Key bsr 3, 0, F@_1, F@_2, F@_3,
F@_4, TrUserData);
5 ->
skip_32_Kaa(Rest, 0, 0, F@_1, F@_2, F@_3, F@_4,
TrUserData)
end
end;
dg_read_field_def_Kaa(<<>>, 0, 0, F@_1, F@_2, F@_3,
F@_4, _) ->
#'Kaa'{module = F@_1, function = F@_2,
jun_worker = F@_3, arguments = F@_4}.
d_field_Kaa_module(<<1:1, X:7, Rest/binary>>, N, Acc,
F@_1, F@_2, F@_3, F@_4, TrUserData)
when N < 57 ->
d_field_Kaa_module(Rest, N + 7, X bsl N + Acc, F@_1,
F@_2, F@_3, F@_4, TrUserData);
d_field_Kaa_module(<<0:1, X:7, Rest/binary>>, N, Acc, _,
F@_2, F@_3, F@_4, TrUserData) ->
{NewFValue, RestF} = {d_enum_mods(begin
<<Res:32/signed-native>> = <<(X bsl N +
Acc):32/unsigned-native>>,
Res
end),
Rest},
dfp_read_field_def_Kaa(RestF, 0, 0, NewFValue, F@_2,
F@_3, F@_4, TrUserData).
d_field_Kaa_function(<<1:1, X:7, Rest/binary>>, N, Acc,
F@_1, F@_2, F@_3, F@_4, TrUserData)
when N < 57 ->
d_field_Kaa_function(Rest, N + 7, X bsl N + Acc, F@_1,
F@_2, F@_3, F@_4, TrUserData);
d_field_Kaa_function(<<0:1, X:7, Rest/binary>>, N, Acc,
F@_1, _, F@_3, F@_4, TrUserData) ->
{NewFValue, RestF} = {d_enum_funs(begin
<<Res:32/signed-native>> = <<(X bsl N +
Acc):32/unsigned-native>>,
Res
end),
Rest},
dfp_read_field_def_Kaa(RestF, 0, 0, F@_1, NewFValue,
F@_3, F@_4, TrUserData).
d_field_Kaa_jun_worker(<<1:1, X:7, Rest/binary>>, N,
Acc, F@_1, F@_2, F@_3, F@_4, TrUserData)
when N < 57 ->
d_field_Kaa_jun_worker(Rest, N + 7, X bsl N + Acc, F@_1,
F@_2, F@_3, F@_4, TrUserData);
d_field_Kaa_jun_worker(<<0:1, X:7, Rest/binary>>, N,
Acc, F@_1, F@_2, _, F@_4, TrUserData) ->
{NewFValue, RestF} = begin
Len = X bsl N + Acc,
<<Utf8:Len/binary, Rest2/binary>> = Rest,
{unicode:characters_to_list(Utf8, unicode), Rest2}
end,
dfp_read_field_def_Kaa(RestF, 0, 0, F@_1, F@_2,
NewFValue, F@_4, TrUserData).
d_field_Kaa_core(<<1:1, X:7, Rest/binary>>, N, Acc,
F@_1, F@_2, F@_3, F@_4, TrUserData)
when N < 57 ->
d_field_Kaa_core(Rest, N + 7, X bsl N + Acc, F@_1, F@_2,
F@_3, F@_4, TrUserData);
d_field_Kaa_core(<<0:1, X:7, Rest/binary>>, N, Acc,
F@_1, F@_2, F@_3, Prev, TrUserData) ->
{NewFValue, RestF} = begin
Len = X bsl N + Acc,
<<Bs:Len/binary, Rest2/binary>> = Rest,
{id(d_msg_m_core(Bs, TrUserData), TrUserData), Rest2}
end,
dfp_read_field_def_Kaa(RestF, 0, 0, F@_1, F@_2, F@_3,
case Prev of
undefined -> {core, NewFValue};
{core, MVPrev} ->
{core,
merge_msg_m_core(MVPrev, NewFValue,
TrUserData)};
_ -> {core, NewFValue}
end,
TrUserData).
d_field_Kaa_frame(<<1:1, X:7, Rest/binary>>, N, Acc,
F@_1, F@_2, F@_3, F@_4, TrUserData)
when N < 57 ->
d_field_Kaa_frame(Rest, N + 7, X bsl N + Acc, F@_1,
F@_2, F@_3, F@_4, TrUserData);
d_field_Kaa_frame(<<0:1, X:7, Rest/binary>>, N, Acc,
F@_1, F@_2, F@_3, Prev, TrUserData) ->
{NewFValue, RestF} = begin
Len = X bsl N + Acc,
<<Bs:Len/binary, Rest2/binary>> = Rest,
{id(d_msg_m_frame(Bs, TrUserData), TrUserData),
Rest2}
end,
dfp_read_field_def_Kaa(RestF, 0, 0, F@_1, F@_2, F@_3,
case Prev of
undefined -> {frame, NewFValue};
{frame, MVPrev} ->
{frame,
merge_msg_m_frame(MVPrev, NewFValue,
TrUserData)};
_ -> {frame, NewFValue}
end,
TrUserData).
skip_varint_Kaa(<<1:1, _:7, Rest/binary>>, Z1, Z2, F@_1,
F@_2, F@_3, F@_4, TrUserData) ->
skip_varint_Kaa(Rest, Z1, Z2, F@_1, F@_2, F@_3, F@_4,
TrUserData);
skip_varint_Kaa(<<0:1, _:7, Rest/binary>>, Z1, Z2, F@_1,
F@_2, F@_3, F@_4, TrUserData) ->
dfp_read_field_def_Kaa(Rest, Z1, Z2, F@_1, F@_2, F@_3,
F@_4, TrUserData).
skip_length_delimited_Kaa(<<1:1, X:7, Rest/binary>>, N,
Acc, F@_1, F@_2, F@_3, F@_4, TrUserData)
when N < 57 ->
skip_length_delimited_Kaa(Rest, N + 7, X bsl N + Acc,
F@_1, F@_2, F@_3, F@_4, TrUserData);
skip_length_delimited_Kaa(<<0:1, X:7, Rest/binary>>, N,
Acc, F@_1, F@_2, F@_3, F@_4, TrUserData) ->
Length = X bsl N + Acc,
<<_:Length/binary, Rest2/binary>> = Rest,
dfp_read_field_def_Kaa(Rest2, 0, 0, F@_1, F@_2, F@_3,
F@_4, TrUserData).
skip_group_Kaa(Bin, FNum, Z2, F@_1, F@_2, F@_3, F@_4,
TrUserData) ->
{_, Rest} = read_group(Bin, FNum),
dfp_read_field_def_Kaa(Rest, 0, Z2, F@_1, F@_2, F@_3,
F@_4, TrUserData).
skip_32_Kaa(<<_:32, Rest/binary>>, Z1, Z2, F@_1, F@_2,
F@_3, F@_4, TrUserData) ->
dfp_read_field_def_Kaa(Rest, Z1, Z2, F@_1, F@_2, F@_3,
F@_4, TrUserData).
skip_64_Kaa(<<_:64, Rest/binary>>, Z1, Z2, F@_1, F@_2,
F@_3, F@_4, TrUserData) ->
dfp_read_field_def_Kaa(Rest, Z1, Z2, F@_1, F@_2, F@_3,
F@_4, TrUserData).
d_enum_mods(0) -> jun_pandas;
d_enum_mods(1) -> jun_plotly;
d_enum_mods(2) -> jun_seaborn;
d_enum_mods(3) -> jun_pandas_series;
d_enum_mods(4) -> jun_pandas_timedelta;
d_enum_mods(V) -> V.
d_enum_funs(0) -> read_csv;
d_enum_funs(7) -> to_csv;
d_enum_funs(8) -> to_html;
d_enum_funs(9) -> to_json;
d_enum_funs(43) -> to_datetime;
d_enum_funs(45) -> read_sql;
d_enum_funs(1) -> sum;
d_enum_funs(2) -> max;
d_enum_funs(3) -> min;
d_enum_funs(4) -> count;
d_enum_funs(5) -> median;
d_enum_funs(40) -> unique;
d_enum_funs(6) -> query;
d_enum_funs(15) -> head;
d_enum_funs(16) -> tail;
d_enum_funs(10) -> columns;
d_enum_funs(11) -> len_columns;
d_enum_funs(12) -> len_index;
d_enum_funs(13) -> memory_usage;
d_enum_funs(14) -> info_columns;
d_enum_funs(18) -> selection;
d_enum_funs(42) -> single_selection;
d_enum_funs(17) -> plot;
d_enum_funs(19) -> groupby;
d_enum_funs(36) -> apply;
d_enum_funs(20) -> sort_values;
d_enum_funs(21) -> sort_index;
d_enum_funs(23) -> iplot;
d_enum_funs(24) -> lmplot;
d_enum_funs(25) -> factorplot;
d_enum_funs(26) -> pairplot;
d_enum_funs(27) -> jointplot;
d_enum_funs(28) -> stripplot;
d_enum_funs(29) -> swarmplot;
d_enum_funs(30) -> boxplot;
d_enum_funs(31) -> violinplot;
d_enum_funs(32) -> lvplot;
d_enum_funs(33) -> pointplot;
d_enum_funs(34) -> barplot;
d_enum_funs(35) -> countplot;
d_enum_funs(22) -> legacy_query;
d_enum_funs(37) -> legacy_assignment;
d_enum_funs(38) -> drop;
d_enum_funs(41) -> rename;
d_enum_funs(39) -> combine;
d_enum_funs(44) -> days;
d_enum_funs(V) -> V.
read_group(Bin, FieldNum) ->
{NumBytes, EndTagLen} = read_gr_b(Bin, 0, 0, 0, 0, FieldNum),
<<Group:NumBytes/binary, _:EndTagLen/binary, Rest/binary>> = Bin,
{Group, Rest}.
%% Like skipping over fields, but record the total length,
%% Each field is <(FieldNum bsl 3) bor FieldType> ++ <FieldValue>
%% Record the length because varints may be non-optimally encoded.
%%
%% Groups can be nested, but assume the same FieldNum cannot be nested
%% because group field numbers are shared with the rest of the fields
%% numbers. Thus we can search just for an group-end with the same
%% field number.
%%
%% (The only time the same group field number could occur would
%% be in a nested sub message, but then it would be inside a
%% length-delimited entry, which we skip-read by length.)
read_gr_b(<<1:1, X:7, Tl/binary>>, N, Acc, NumBytes, TagLen, FieldNum)
when N < (32-7) ->
read_gr_b(Tl, N+7, X bsl N + Acc, NumBytes, TagLen+1, FieldNum);
read_gr_b(<<0:1, X:7, Tl/binary>>, N, Acc, NumBytes, TagLen,
FieldNum) ->
Key = X bsl N + Acc,
TagLen1 = TagLen + 1,
case {Key bsr 3, Key band 7} of
{FieldNum, 4} -> % 4 = group_end
{NumBytes, TagLen1};
{_, 0} -> % 0 = varint
read_gr_vi(Tl, 0, NumBytes + TagLen1, FieldNum);
{_, 1} -> % 1 = bits64
<<_:64, Tl2/binary>> = Tl,
read_gr_b(Tl2, 0, 0, NumBytes + TagLen1 + 8, 0, FieldNum);
{_, 2} -> % 2 = length_delimited
read_gr_ld(Tl, 0, 0, NumBytes + TagLen1, FieldNum);
{_, 3} -> % 3 = group_start
read_gr_b(Tl, 0, 0, NumBytes + TagLen1, 0, FieldNum);
{_, 4} -> % 4 = group_end
read_gr_b(Tl, 0, 0, NumBytes + TagLen1, 0, FieldNum);
{_, 5} -> % 5 = bits32
<<_:32, Tl2/binary>> = Tl,
read_gr_b(Tl2, 0, 0, NumBytes + TagLen1 + 4, 0, FieldNum)
end.
read_gr_vi(<<1:1, _:7, Tl/binary>>, N, NumBytes, FieldNum)
when N < (64-7) ->
read_gr_vi(Tl, N+7, NumBytes+1, FieldNum);
read_gr_vi(<<0:1, _:7, Tl/binary>>, _, NumBytes, FieldNum) ->
read_gr_b(Tl, 0, 0, NumBytes+1, 0, FieldNum).
read_gr_ld(<<1:1, X:7, Tl/binary>>, N, Acc, NumBytes, FieldNum)
when N < (64-7) ->
read_gr_ld(Tl, N+7, X bsl N + Acc, NumBytes+1, FieldNum);
read_gr_ld(<<0:1, X:7, Tl/binary>>, N, Acc, NumBytes, FieldNum) ->
Len = X bsl N + Acc,
NumBytes1 = NumBytes + 1,
<<_:Len/binary, Tl2/binary>> = Tl,
read_gr_b(Tl2, 0, 0, NumBytes1 + Len, 0, FieldNum).
merge_msgs(Prev, New) -> merge_msgs(Prev, New, []).
merge_msgs(Prev, New, Opts)
when element(1, Prev) =:= element(1, New) ->
TrUserData = proplists:get_value(user_data, Opts),
case Prev of
#'Keywords'{} ->
merge_msg_Keywords(Prev, New, TrUserData);
#m_frame{} -> merge_msg_m_frame(Prev, New, TrUserData);
#m_core{} -> merge_msg_m_core(Prev, New, TrUserData);
#'Kaa'{} -> merge_msg_Kaa(Prev, New, TrUserData)
end.
merge_msg_Keywords(#'Keywords'{},
#'Keywords'{key = NFkey, value = NFvalue}, _) ->
#'Keywords'{key = NFkey, value = NFvalue}.
merge_msg_m_frame(#m_frame{axis = PFaxis,
keywords = PFkeywords},
#m_frame{dataframe = NFdataframe, axis = NFaxis,
keywords = NFkeywords},
TrUserData) ->
#m_frame{dataframe = NFdataframe,
axis =
if NFaxis =:= undefined -> PFaxis;
true -> NFaxis
end,
keywords =
if PFkeywords /= undefined, NFkeywords /= undefined ->
'erlang_++'(PFkeywords, NFkeywords, TrUserData);
PFkeywords == undefined -> NFkeywords;
NFkeywords == undefined -> PFkeywords
end}.
merge_msg_m_core(#m_core{keywords = PFkeywords},
#m_core{argument = NFargument, keywords = NFkeywords},
TrUserData) ->
#m_core{argument = NFargument,
keywords =
if PFkeywords /= undefined, NFkeywords /= undefined ->
'erlang_++'(PFkeywords, NFkeywords, TrUserData);
PFkeywords == undefined -> NFkeywords;
NFkeywords == undefined -> PFkeywords
end}.
merge_msg_Kaa(#'Kaa'{arguments = PFarguments},
#'Kaa'{module = NFmodule, function = NFfunction,
jun_worker = NFjun_worker, arguments = NFarguments},
TrUserData) ->
#'Kaa'{module = NFmodule, function = NFfunction,
jun_worker = NFjun_worker,
arguments =
case {PFarguments, NFarguments} of
{{core, OPFarguments}, {core, ONFarguments}} ->
{core,
merge_msg_m_core(OPFarguments, ONFarguments,
TrUserData)};
{{frame, OPFarguments}, {frame, ONFarguments}} ->
{frame,
merge_msg_m_frame(OPFarguments, ONFarguments,
TrUserData)};
{_, undefined} -> PFarguments;
_ -> NFarguments
end}.
verify_msg(Msg) -> verify_msg(Msg, []).
verify_msg(Msg, Opts) ->
TrUserData = proplists:get_value(user_data, Opts),
case Msg of
#'Keywords'{} ->
v_msg_Keywords(Msg, ['Keywords'], TrUserData);
#m_frame{} -> v_msg_m_frame(Msg, [m_frame], TrUserData);
#m_core{} -> v_msg_m_core(Msg, [m_core], TrUserData);
#'Kaa'{} -> v_msg_Kaa(Msg, ['Kaa'], TrUserData);
_ -> mk_type_error(not_a_known_message, Msg, [])
end.
-dialyzer({nowarn_function,v_msg_Keywords/3}).
v_msg_Keywords(#'Keywords'{key = F1, value = F2}, Path,
_) ->
v_type_string(F1, [key | Path]),
v_type_string(F2, [value | Path]),
ok;
v_msg_Keywords(X, Path, _TrUserData) ->
mk_type_error({expected_msg, 'Keywords'}, X, Path).
-dialyzer({nowarn_function,v_msg_m_frame/3}).
v_msg_m_frame(#m_frame{dataframe = F1, axis = F2,
keywords = F3},
Path, TrUserData) ->
v_type_string(F1, [dataframe | Path]),
if F2 == undefined -> ok;
true -> v_type_string(F2, [axis | Path])
end,
if is_list(F3) ->
_ = [v_msg_Keywords(Elem, [keywords | Path], TrUserData)
|| Elem <- F3],
ok;
true ->
mk_type_error({invalid_list_of, {msg, 'Keywords'}}, F3,
[keywords | Path])
end,
ok;
v_msg_m_frame(X, Path, _TrUserData) ->
mk_type_error({expected_msg, m_frame}, X, Path).
-dialyzer({nowarn_function,v_msg_m_core/3}).
v_msg_m_core(#m_core{argument = F1, keywords = F2},
Path, TrUserData) ->
v_type_string(F1, [argument | Path]),
if is_list(F2) ->
_ = [v_msg_Keywords(Elem, [keywords | Path], TrUserData)
|| Elem <- F2],
ok;
true ->
mk_type_error({invalid_list_of, {msg, 'Keywords'}}, F2,
[keywords | Path])
end,
ok;
v_msg_m_core(X, Path, _TrUserData) ->
mk_type_error({expected_msg, m_core}, X, Path).
-dialyzer({nowarn_function,v_msg_Kaa/3}).
v_msg_Kaa(#'Kaa'{module = F1, function = F2,
jun_worker = F3, arguments = F4},
Path, TrUserData) ->
v_enum_mods(F1, [module | Path]),
v_enum_funs(F2, [function | Path]),
v_type_string(F3, [jun_worker | Path]),
case F4 of
undefined -> ok;
{core, OF4} ->
v_msg_m_core(OF4, [core, arguments | Path], TrUserData);
{frame, OF4} ->
v_msg_m_frame(OF4, [frame, arguments | Path],
TrUserData);
_ ->
mk_type_error(invalid_oneof, F4, [arguments | Path])
end,
ok.
-dialyzer({nowarn_function,v_enum_mods/2}).
v_enum_mods(jun_pandas, _Path) -> ok;
v_enum_mods(jun_plotly, _Path) -> ok;
v_enum_mods(jun_seaborn, _Path) -> ok;
v_enum_mods(jun_pandas_series, _Path) -> ok;
v_enum_mods(jun_pandas_timedelta, _Path) -> ok;
v_enum_mods(V, Path) when is_integer(V) ->
v_type_sint32(V, Path);
v_enum_mods(X, Path) ->
mk_type_error({invalid_enum, mods}, X, Path).
-dialyzer({nowarn_function,v_enum_funs/2}).
v_enum_funs(read_csv, _Path) -> ok;
v_enum_funs(to_csv, _Path) -> ok;
v_enum_funs(to_html, _Path) -> ok;
v_enum_funs(to_json, _Path) -> ok;
v_enum_funs(to_datetime, _Path) -> ok;
v_enum_funs(read_sql, _Path) -> ok;
v_enum_funs(sum, _Path) -> ok;
v_enum_funs(max, _Path) -> ok;
v_enum_funs(min, _Path) -> ok;
v_enum_funs(count, _Path) -> ok;
v_enum_funs(median, _Path) -> ok;
v_enum_funs(unique, _Path) -> ok;
v_enum_funs(query, _Path) -> ok;
v_enum_funs(head, _Path) -> ok;
v_enum_funs(tail, _Path) -> ok;
v_enum_funs(columns, _Path) -> ok;
v_enum_funs(len_columns, _Path) -> ok;
v_enum_funs(len_index, _Path) -> ok;
v_enum_funs(memory_usage, _Path) -> ok;
v_enum_funs(info_columns, _Path) -> ok;
v_enum_funs(selection, _Path) -> ok;
v_enum_funs(single_selection, _Path) -> ok;
v_enum_funs(plot, _Path) -> ok;
v_enum_funs(groupby, _Path) -> ok;
v_enum_funs(apply, _Path) -> ok;
v_enum_funs(sort_values, _Path) -> ok;
v_enum_funs(sort_index, _Path) -> ok;
v_enum_funs(iplot, _Path) -> ok;
v_enum_funs(lmplot, _Path) -> ok;
v_enum_funs(factorplot, _Path) -> ok;
v_enum_funs(pairplot, _Path) -> ok;
v_enum_funs(jointplot, _Path) -> ok;
v_enum_funs(stripplot, _Path) -> ok;
v_enum_funs(swarmplot, _Path) -> ok;
v_enum_funs(boxplot, _Path) -> ok;
v_enum_funs(violinplot, _Path) -> ok;
v_enum_funs(lvplot, _Path) -> ok;
v_enum_funs(pointplot, _Path) -> ok;
v_enum_funs(barplot, _Path) -> ok;
v_enum_funs(countplot, _Path) -> ok;
v_enum_funs(legacy_query, _Path) -> ok;
v_enum_funs(legacy_assignment, _Path) -> ok;
v_enum_funs(drop, _Path) -> ok;
v_enum_funs(rename, _Path) -> ok;
v_enum_funs(combine, _Path) -> ok;
v_enum_funs(days, _Path) -> ok;
v_enum_funs(V, Path) when is_integer(V) ->
v_type_sint32(V, Path);
v_enum_funs(X, Path) ->
mk_type_error({invalid_enum, funs}, X, Path).
-dialyzer({nowarn_function,v_type_sint32/2}).
v_type_sint32(N, _Path)
when -2147483648 =< N, N =< 2147483647 ->
ok;
v_type_sint32(N, Path) when is_integer(N) ->
mk_type_error({value_out_of_range, sint32, signed, 32},
N, Path);
v_type_sint32(X, Path) ->
mk_type_error({bad_integer, sint32, signed, 32}, X,
Path).
-dialyzer({nowarn_function,v_type_string/2}).
v_type_string(S, Path) when is_list(S); is_binary(S) ->
try unicode:characters_to_binary(S) of
B when is_binary(B) -> ok;
{error, _, _} ->
mk_type_error(bad_unicode_string, S, Path)
catch
error:badarg ->
mk_type_error(bad_unicode_string, S, Path)
end;
v_type_string(X, Path) ->
mk_type_error(bad_unicode_string, X, Path).
-spec mk_type_error(_, _, list()) -> no_return().
mk_type_error(Error, ValueSeen, Path) ->
Path2 = prettify_path(Path),
erlang:error({gpb_type_error,
{Error, [{value, ValueSeen}, {path, Path2}]}}).
-dialyzer({nowarn_function,prettify_path/1}).
prettify_path([]) -> top_level;
prettify_path(PathR) ->
list_to_atom(lists:append(lists:join(".",
lists:map(fun atom_to_list/1,
lists:reverse(PathR))))).
-compile({inline,id/2}).
id(X, _TrUserData) -> X.
-compile({inline,cons/3}).
cons(Elem, Acc, _TrUserData) -> [Elem | Acc].
-compile({inline,lists_reverse/2}).
'lists_reverse'(L, _TrUserData) -> lists:reverse(L).
-compile({inline,'erlang_++'/3}).
'erlang_++'(A, B, _TrUserData) -> A ++ B.
get_msg_defs() ->
[{{enum, mods},
[{jun_pandas, 0}, {jun_plotly, 1}, {jun_seaborn, 2},
{jun_pandas_series, 3}, {jun_pandas_timedelta, 4}]},
{{enum, funs},
[{read_csv, 0}, {to_csv, 7}, {to_html, 8}, {to_json, 9},
{to_datetime, 43}, {read_sql, 45}, {sum, 1}, {max, 2},
{min, 3}, {count, 4}, {median, 5}, {unique, 40},
{query, 6}, {head, 15}, {tail, 16}, {columns, 10},
{len_columns, 11}, {len_index, 12}, {memory_usage, 13},
{info_columns, 14}, {selection, 18},
{single_selection, 42}, {plot, 17}, {groupby, 19},
{apply, 36}, {sort_values, 20}, {sort_index, 21},
{iplot, 23}, {lmplot, 24}, {factorplot, 25},
{pairplot, 26}, {jointplot, 27}, {stripplot, 28},
{swarmplot, 29}, {boxplot, 30}, {violinplot, 31},
{lvplot, 32}, {pointplot, 33}, {barplot, 34},
{countplot, 35}, {legacy_query, 22},
{legacy_assignment, 37}, {drop, 38}, {rename, 41},
{combine, 39}, {days, 44}]},
{{msg, 'Keywords'},
[#field{name = key, fnum = 1, rnum = 2, type = string,
occurrence = required, opts = []},
#field{name = value, fnum = 2, rnum = 3, type = string,
occurrence = required, opts = []}]},
{{msg, m_frame},
[#field{name = dataframe, fnum = 1, rnum = 2,
type = string, occurrence = required, opts = []},
#field{name = axis, fnum = 2, rnum = 3, type = string,
occurrence = optional, opts = []},
#field{name = keywords, fnum = 3, rnum = 4,
type = {msg, 'Keywords'}, occurrence = repeated,
opts = []}]},
{{msg, m_core},
[#field{name = argument, fnum = 1, rnum = 2,
type = string, occurrence = required, opts = []},
#field{name = keywords, fnum = 2, rnum = 3,
type = {msg, 'Keywords'}, occurrence = repeated,
opts = []}]},
{{msg, 'Kaa'},
[#field{name = module, fnum = 1, rnum = 2,
type = {enum, mods}, occurrence = required, opts = []},
#field{name = function, fnum = 2, rnum = 3,
type = {enum, funs}, occurrence = required, opts = []},
#field{name = jun_worker, fnum = 3, rnum = 4,
type = string, occurrence = required, opts = []},
#gpb_oneof{name = arguments, rnum = 5,
fields =
[#field{name = core, fnum = 4, rnum = 5,
type = {msg, m_core}, occurrence = optional,
opts = []},
#field{name = frame, fnum = 5, rnum = 5,
type = {msg, m_frame}, occurrence = optional,
opts = []}]}]}].
get_msg_names() -> ['Keywords', m_frame, m_core, 'Kaa'].
get_group_names() -> [].
get_msg_or_group_names() ->
['Keywords', m_frame, m_core, 'Kaa'].
get_enum_names() -> [mods, funs].
fetch_msg_def(MsgName) ->
case find_msg_def(MsgName) of
Fs when is_list(Fs) -> Fs;
error -> erlang:error({no_such_msg, MsgName})
end.
fetch_enum_def(EnumName) ->
case find_enum_def(EnumName) of
Es when is_list(Es) -> Es;
error -> erlang:error({no_such_enum, EnumName})
end.
find_msg_def('Keywords') ->
[#field{name = key, fnum = 1, rnum = 2, type = string,
occurrence = required, opts = []},
#field{name = value, fnum = 2, rnum = 3, type = string,
occurrence = required, opts = []}];
find_msg_def(m_frame) ->
[#field{name = dataframe, fnum = 1, rnum = 2,
type = string, occurrence = required, opts = []},
#field{name = axis, fnum = 2, rnum = 3, type = string,
occurrence = optional, opts = []},
#field{name = keywords, fnum = 3, rnum = 4,
type = {msg, 'Keywords'}, occurrence = repeated,
opts = []}];
find_msg_def(m_core) ->
[#field{name = argument, fnum = 1, rnum = 2,
type = string, occurrence = required, opts = []},
#field{name = keywords, fnum = 2, rnum = 3,
type = {msg, 'Keywords'}, occurrence = repeated,
opts = []}];
find_msg_def('Kaa') ->
[#field{name = module, fnum = 1, rnum = 2,
type = {enum, mods}, occurrence = required, opts = []},
#field{name = function, fnum = 2, rnum = 3,
type = {enum, funs}, occurrence = required, opts = []},
#field{name = jun_worker, fnum = 3, rnum = 4,
type = string, occurrence = required, opts = []},
#gpb_oneof{name = arguments, rnum = 5,
fields =
[#field{name = core, fnum = 4, rnum = 5,
type = {msg, m_core}, occurrence = optional,
opts = []},
#field{name = frame, fnum = 5, rnum = 5,
type = {msg, m_frame}, occurrence = optional,
opts = []}]}];
find_msg_def(_) -> error.
find_enum_def(mods) ->
[{jun_pandas, 0}, {jun_plotly, 1}, {jun_seaborn, 2},
{jun_pandas_series, 3}, {jun_pandas_timedelta, 4}];
find_enum_def(funs) ->
[{read_csv, 0}, {to_csv, 7}, {to_html, 8}, {to_json, 9},
{to_datetime, 43}, {read_sql, 45}, {sum, 1}, {max, 2},
{min, 3}, {count, 4}, {median, 5}, {unique, 40},
{query, 6}, {head, 15}, {tail, 16}, {columns, 10},
{len_columns, 11}, {len_index, 12}, {memory_usage, 13},
{info_columns, 14}, {selection, 18},
{single_selection, 42}, {plot, 17}, {groupby, 19},
{apply, 36}, {sort_values, 20}, {sort_index, 21},
{iplot, 23}, {lmplot, 24}, {factorplot, 25},
{pairplot, 26}, {jointplot, 27}, {stripplot, 28},
{swarmplot, 29}, {boxplot, 30}, {violinplot, 31},
{lvplot, 32}, {pointplot, 33}, {barplot, 34},
{countplot, 35}, {legacy_query, 22},
{legacy_assignment, 37}, {drop, 38}, {rename, 41},
{combine, 39}, {days, 44}];
find_enum_def(_) -> error.
enum_symbol_by_value(mods, Value) ->
enum_symbol_by_value_mods(Value);
enum_symbol_by_value(funs, Value) ->
enum_symbol_by_value_funs(Value).
enum_value_by_symbol(mods, Sym) ->
enum_value_by_symbol_mods(Sym);
enum_value_by_symbol(funs, Sym) ->
enum_value_by_symbol_funs(Sym).
enum_symbol_by_value_mods(0) -> jun_pandas;
enum_symbol_by_value_mods(1) -> jun_plotly;
enum_symbol_by_value_mods(2) -> jun_seaborn;
enum_symbol_by_value_mods(3) -> jun_pandas_series;
enum_symbol_by_value_mods(4) -> jun_pandas_timedelta.
enum_value_by_symbol_mods(jun_pandas) -> 0;
enum_value_by_symbol_mods(jun_plotly) -> 1;
enum_value_by_symbol_mods(jun_seaborn) -> 2;
enum_value_by_symbol_mods(jun_pandas_series) -> 3;
enum_value_by_symbol_mods(jun_pandas_timedelta) -> 4.
enum_symbol_by_value_funs(0) -> read_csv;
enum_symbol_by_value_funs(7) -> to_csv;
enum_symbol_by_value_funs(8) -> to_html;
enum_symbol_by_value_funs(9) -> to_json;
enum_symbol_by_value_funs(43) -> to_datetime;
enum_symbol_by_value_funs(45) -> read_sql;
enum_symbol_by_value_funs(1) -> sum;
enum_symbol_by_value_funs(2) -> max;
enum_symbol_by_value_funs(3) -> min;
enum_symbol_by_value_funs(4) -> count;
enum_symbol_by_value_funs(5) -> median;
enum_symbol_by_value_funs(40) -> unique;
enum_symbol_by_value_funs(6) -> query;
enum_symbol_by_value_funs(15) -> head;
enum_symbol_by_value_funs(16) -> tail;
enum_symbol_by_value_funs(10) -> columns;
enum_symbol_by_value_funs(11) -> len_columns;
enum_symbol_by_value_funs(12) -> len_index;
enum_symbol_by_value_funs(13) -> memory_usage;
enum_symbol_by_value_funs(14) -> info_columns;
enum_symbol_by_value_funs(18) -> selection;
enum_symbol_by_value_funs(42) -> single_selection;
enum_symbol_by_value_funs(17) -> plot;
enum_symbol_by_value_funs(19) -> groupby;
enum_symbol_by_value_funs(36) -> apply;
enum_symbol_by_value_funs(20) -> sort_values;
enum_symbol_by_value_funs(21) -> sort_index;
enum_symbol_by_value_funs(23) -> iplot;
enum_symbol_by_value_funs(24) -> lmplot;
enum_symbol_by_value_funs(25) -> factorplot;
enum_symbol_by_value_funs(26) -> pairplot;
enum_symbol_by_value_funs(27) -> jointplot;
enum_symbol_by_value_funs(28) -> stripplot;
enum_symbol_by_value_funs(29) -> swarmplot;
enum_symbol_by_value_funs(30) -> boxplot;
enum_symbol_by_value_funs(31) -> violinplot;
enum_symbol_by_value_funs(32) -> lvplot;
enum_symbol_by_value_funs(33) -> pointplot;
enum_symbol_by_value_funs(34) -> barplot;
enum_symbol_by_value_funs(35) -> countplot;
enum_symbol_by_value_funs(22) -> legacy_query;
enum_symbol_by_value_funs(37) -> legacy_assignment;
enum_symbol_by_value_funs(38) -> drop;
enum_symbol_by_value_funs(41) -> rename;
enum_symbol_by_value_funs(39) -> combine;
enum_symbol_by_value_funs(44) -> days.
enum_value_by_symbol_funs(read_csv) -> 0;
enum_value_by_symbol_funs(to_csv) -> 7;
enum_value_by_symbol_funs(to_html) -> 8;
enum_value_by_symbol_funs(to_json) -> 9;
enum_value_by_symbol_funs(to_datetime) -> 43;
enum_value_by_symbol_funs(read_sql) -> 45;
enum_value_by_symbol_funs(sum) -> 1;
enum_value_by_symbol_funs(max) -> 2;
enum_value_by_symbol_funs(min) -> 3;
enum_value_by_symbol_funs(count) -> 4;
enum_value_by_symbol_funs(median) -> 5;
enum_value_by_symbol_funs(unique) -> 40;
enum_value_by_symbol_funs(query) -> 6;
enum_value_by_symbol_funs(head) -> 15;
enum_value_by_symbol_funs(tail) -> 16;
enum_value_by_symbol_funs(columns) -> 10;
enum_value_by_symbol_funs(len_columns) -> 11;
enum_value_by_symbol_funs(len_index) -> 12;
enum_value_by_symbol_funs(memory_usage) -> 13;
enum_value_by_symbol_funs(info_columns) -> 14;
enum_value_by_symbol_funs(selection) -> 18;
enum_value_by_symbol_funs(single_selection) -> 42;
enum_value_by_symbol_funs(plot) -> 17;
enum_value_by_symbol_funs(groupby) -> 19;
enum_value_by_symbol_funs(apply) -> 36;
enum_value_by_symbol_funs(sort_values) -> 20;
enum_value_by_symbol_funs(sort_index) -> 21;
enum_value_by_symbol_funs(iplot) -> 23;
enum_value_by_symbol_funs(lmplot) -> 24;
enum_value_by_symbol_funs(factorplot) -> 25;
enum_value_by_symbol_funs(pairplot) -> 26;
enum_value_by_symbol_funs(jointplot) -> 27;
enum_value_by_symbol_funs(stripplot) -> 28;
enum_value_by_symbol_funs(swarmplot) -> 29;
enum_value_by_symbol_funs(boxplot) -> 30;
enum_value_by_symbol_funs(violinplot) -> 31;
enum_value_by_symbol_funs(lvplot) -> 32;
enum_value_by_symbol_funs(pointplot) -> 33;
enum_value_by_symbol_funs(barplot) -> 34;
enum_value_by_symbol_funs(countplot) -> 35;
enum_value_by_symbol_funs(legacy_query) -> 22;
enum_value_by_symbol_funs(legacy_assignment) -> 37;
enum_value_by_symbol_funs(drop) -> 38;
enum_value_by_symbol_funs(rename) -> 41;
enum_value_by_symbol_funs(combine) -> 39;
enum_value_by_symbol_funs(days) -> 44.
get_service_names() -> [].
get_service_def(_) -> error.
get_rpc_names(_) -> error.
find_rpc_def(_, _) -> error.
-spec fetch_rpc_def(_, _) -> no_return().
fetch_rpc_def(ServiceName, RpcName) ->
erlang:error({no_such_rpc, ServiceName, RpcName}).
get_package_name() -> undefined.
gpb_version_as_string() ->
"4.1.3".
gpb_version_as_list() ->
[4,1,3].