diff --git a/tmate-master.c b/tmate-master.c index e156fe13..cb753cc5 100644 --- a/tmate-master.c +++ b/tmate-master.c @@ -1,7 +1,6 @@ #include #include #include -#include #include "tmate.h" #include "tmate-protocol.h" @@ -27,28 +26,6 @@ void tmate_dispatch_master_message(struct tmate_session *session, #define pack(what, ...) _pack(&tmate_session->master_encoder, what, __VA_ARGS__) -void tmate_send_master_keyframe(struct tmate_session *session) -{ - struct timespec time_diff; - - if (!tmate_has_master()) - return; - - /* Eventually the deamon will send the timestamps and keyframe number */ - - if (clock_gettime(CLOCK_MONOTONIC, &session->keyframe_start_time) < 0) - tmate_fatal("Cannot get time"); - - timespec_subtract(&time_diff, &session->keyframe_start_time, - &session->session_start_time); - session->keyframe_size = 0; - - pack(array, 3); - pack(int, TMATE_CTL_KEYFRAME); - pack(unsigned_int, session->keyframe_cnt++); - pack(unsigned_long_long, timespec_to_millisec(&time_diff)); -} - void tmate_send_master_daemon_msg(struct tmate_session *session, struct tmate_unpacker *uk) { @@ -58,15 +35,8 @@ void tmate_send_master_daemon_msg(struct tmate_session *session, if (!tmate_has_master()) return; - if (clock_gettime(CLOCK_MONOTONIC, ¤t_time) < 0) - tmate_fatal("Cannot get time"); - - timespec_subtract(&time_diff, ¤t_time, - &session->keyframe_start_time); - - pack(array, 3); + pack(array, 2); pack(int, TMATE_CTL_DEAMON_OUT_MSG); - pack(unsigned_int, timespec_to_millisec(&time_diff)); pack(array, uk->argc); for (i = 0; i < uk->argc; i++) @@ -92,11 +62,7 @@ void tmate_init_master_session(struct tmate_session *session) if (!tmate_has_master()) return; - if (clock_gettime(CLOCK_MONOTONIC, &session->session_start_time) < 0) - tmate_fatal("Cannot get time"); - - session->keyframe_cnt = 0; - session->keyframe_size = 0; + /* Further init */ } static int _tmate_connect_to_master(const char *hostname, int port) diff --git a/tmate-protocol.h b/tmate-protocol.h index 81a846a2..21b74c67 100644 --- a/tmate-protocol.h +++ b/tmate-protocol.h @@ -11,7 +11,6 @@ enum tmate_control_out_msg_types { TMATE_CTL_AUTH, TMATE_CTL_DEAMON_OUT_MSG, - TMATE_CTL_KEYFRAME, }; enum tmate_control_in_msg_types { diff --git a/tmate-ssh-daemon.c b/tmate-ssh-daemon.c index e4297be4..0aa91907 100644 --- a/tmate-ssh-daemon.c +++ b/tmate-ssh-daemon.c @@ -39,16 +39,6 @@ static void on_master_encoder_write(void *userdata, struct evbuffer *buffer) master_out = bufferevent_get_output(session->bev_master); - len = evbuffer_get_length(buffer); - - if (session->keyframe_size + len > TMATE_KEYFRAME_MAX_SIZE) { - if (session->keyframe_size == 0) - tmate_fatal("keyframe max size too small"); - tmate_send_master_keyframe(session); - } - - session->keyframe_size += len; - if (evbuffer_add_buffer(master_out, buffer) < 0) tmate_fatal("Cannot write to master buffer"); } @@ -66,20 +56,8 @@ static void on_master_event(struct bufferevent *bev, short events, void *_sessio static void on_daemon_decoder_read(void *userdata, struct tmate_unpacker *uk) { struct tmate_session *session = userdata; - struct timespec time_diff, current_time; - - if (tmate_has_master()) { - if (clock_gettime(CLOCK_MONOTONIC, ¤t_time) < 0) - tmate_fatal("Cannot get time"); - - timespec_subtract(&time_diff, ¤t_time, - &session->keyframe_start_time); - if (time_diff.tv_sec > TMATE_KEYFRAME_INTERVAL_SEC - 1) - tmate_send_master_keyframe(session); - - tmate_send_master_daemon_msg(session, uk); - } + tmate_send_master_daemon_msg(session, uk); tmate_dispatch_daemon_message(session, uk); } @@ -156,8 +134,6 @@ static void init_master(struct tmate_session *session) tmate_init_master_session(session); tmate_send_master_header(session); - - tmate_send_master_keyframe(session); } void tmate_daemon_init(struct tmate_session *session) diff --git a/tmate.h b/tmate.h index 417b0ee1..d6703ddf 100644 --- a/tmate.h +++ b/tmate.h @@ -7,7 +7,6 @@ #include #include #include -#include #include "tmux.h" struct tmate_session; @@ -223,11 +222,6 @@ struct tmate_session { struct tmate_encoder master_encoder; struct tmate_decoder master_decoder; - struct timespec session_start_time; - struct timespec keyframe_start_time; - unsigned int keyframe_cnt; - size_t keyframe_size; - /* only for client-pty */ int pty; struct event ev_pty; @@ -245,7 +239,6 @@ extern void tmate_spawn_slave(struct tmate_session *session); extern void tmate_dispatch_master_message(struct tmate_session *session, struct tmate_unpacker *uk); -extern void tmate_send_master_keyframe(struct tmate_session *session); extern void tmate_send_master_daemon_msg(struct tmate_session *session, struct tmate_unpacker *uk); extern void tmate_send_master_header(struct tmate_session *session);