1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
|
%%====================================================================
%% Types
%%====================================================================
-type connection_ref() :: ssh:connection_ref().
-type channel_id() :: ssh:channel_id().
%%====================================================================
%% Internal process state
%%====================================================================
-record(data, {
starter :: pid()
| undefined,
auth_user :: string()
| undefined,
connection_state :: #connection{}
| undefined,
latest_channel_id = 0 :: non_neg_integer()
| undefined,
transport_protocol :: atom()
| undefined, % ex: tcp
transport_cb :: atom()
| undefined, % ex: gen_tcp
transport_close_tag :: atom()
| undefined, % ex: tcp_closed
ssh_params :: #ssh{}
| undefined,
socket :: gen_tcp:socket()
| undefined,
decrypted_data_buffer = <<>> :: binary()
| undefined,
encrypted_data_buffer = <<>> :: binary()
| undefined,
aead_data = <<>> :: binary()
| undefined,
undecrypted_packet_length :: undefined | non_neg_integer(),
key_exchange_init_msg :: #ssh_msg_kexinit{}
| undefined,
last_size_rekey = 0 :: non_neg_integer(),
event_queue = [] :: list(),
inet_initial_recbuf_size :: pos_integer()
| undefined
}).
%%====================================================================
%% Macros
%%====================================================================
-define(send_disconnect(Code, DetailedText, StateName, State),
ssh_connection_handler:send_disconnect(Code, DetailedText, ?MODULE, ?LINE, StateName, State)).
-define(send_disconnect(Code, Reason, DetailedText, StateName, State),
ssh_connection_handler:send_disconnect(Code, Reason, DetailedText, ?MODULE, ?LINE, StateName, State)).
-define(CALL_FUN(Key,D), catch (?GET_OPT(Key, (D#data.ssh_params)#ssh.opts)) ).
-define(role(StateName), element(2,StateName)).
|