From 91fa723b31fd3cd885d7f3dec8bc9d7e01d3bd41 Mon Sep 17 00:00:00 2001 From: MikalaiR Date: Tue, 29 Mar 2016 11:06:00 +0000 Subject: Telegram: netlib network pt. 2 git-svn-id: http://svn.miranda-ng.org/main/trunk@16561 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c --- protocols/Telegram/src/t_network.h | 47 ++++++++++++++++++++++++++++++++------ 1 file changed, 40 insertions(+), 7 deletions(-) (limited to 'protocols/Telegram/src/t_network.h') diff --git a/protocols/Telegram/src/t_network.h b/protocols/Telegram/src/t_network.h index eaf90ed31d..3859f562e4 100644 --- a/protocols/Telegram/src/t_network.h +++ b/protocols/Telegram/src/t_network.h @@ -1,15 +1,48 @@ -struct connection +enum conn_state { + conn_none, + conn_connecting, + conn_ready, + conn_failed, + conn_stopped +}; + +struct connection : public MZeroedObject { - char *ip; - int port; - int flags; + char *ip; + int port; + int flags; enum conn_state state; - struct mtproto_methods *methods; - struct tgl_state *TLS; - struct tgl_session *session; + struct mtproto_methods *methods; + struct tgl_state *TLS; + struct tgl_session *session; struct tgl_dc *dc; void *extra; double last_receive_time; HANDLE hNetlibConn; HANDLE ping_timer; + HANDLE in_fail_timer; + + struct connection_buffer *in_head; + struct connection_buffer *in_tail; + struct connection_buffer *out_head; + struct connection_buffer *out_tail; + + int in_bytes; + int out_bytes; + int packet_num; + int out_packet_num; + + + HANDLE ping_ev, fail_ev, write_ev, read_ev; + + time_t last_connect_time; + +}; + +struct connection_buffer { + unsigned char *start; + unsigned char *end; + unsigned char *rptr; + unsigned char *wptr; + struct connection_buffer *next; }; \ No newline at end of file -- cgit v1.2.3