Experiment with smaller delay for client
This commit is contained in:
@@ -77,6 +77,8 @@ namespace Network {
|
|||||||
int fd( void ) { return connection.fd(); }
|
int fd( void ) { return connection.fd(); }
|
||||||
|
|
||||||
void set_verbose( void ) { sender.set_verbose(); verbose = true; }
|
void set_verbose( void ) { sender.set_verbose(); verbose = true; }
|
||||||
|
|
||||||
|
void set_send_delay( int new_delay ) { sender.set_send_delay( new_delay ); }
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -114,6 +114,8 @@ void STMClient::main_init( void )
|
|||||||
network = new Network::Transport< Network::UserStream, Terminal::Complete >( blank, local_terminal,
|
network = new Network::Transport< Network::UserStream, Terminal::Complete >( blank, local_terminal,
|
||||||
key.c_str(), ip.c_str(), port );
|
key.c_str(), ip.c_str(), port );
|
||||||
|
|
||||||
|
network->set_send_delay( 1 ); /* minimal delay on outgoing keystrokes */
|
||||||
|
|
||||||
/* tell server the size of the terminal */
|
/* tell server the size of the terminal */
|
||||||
network->get_current_state().push_back( Parser::Resize( window_size.ws_col, window_size.ws_row ) );
|
network->get_current_state().push_back( Parser::Resize( window_size.ws_col, window_size.ws_row ) );
|
||||||
}
|
}
|
||||||
|
|||||||
+2
-1
@@ -19,7 +19,8 @@ TransportSender<MyState>::TransportSender( Connection *s_connection, MyState &in
|
|||||||
shutdown_in_progress( false ),
|
shutdown_in_progress( false ),
|
||||||
shutdown_tries( 0 ),
|
shutdown_tries( 0 ),
|
||||||
ack_num( 0 ),
|
ack_num( 0 ),
|
||||||
pending_data_ack( false )
|
pending_data_ack( false ),
|
||||||
|
SEND_MINDELAY( 15 )
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
+5
-2
@@ -22,8 +22,7 @@ namespace Network {
|
|||||||
static const int SEND_INTERVAL_MIN = 20; /* ms between frames */
|
static const int SEND_INTERVAL_MIN = 20; /* ms between frames */
|
||||||
static const int SEND_INTERVAL_MAX = 250; /* ms between frames */
|
static const int SEND_INTERVAL_MAX = 250; /* ms between frames */
|
||||||
static const int ACK_INTERVAL = 3000; /* ms between empty acks */
|
static const int ACK_INTERVAL = 3000; /* ms between empty acks */
|
||||||
static const int ACK_DELAY = 20; /* ms before delayed ack */
|
static const int ACK_DELAY = 100; /* ms before delayed ack */
|
||||||
static const int SEND_MINDELAY = 20; /* ms to collect all input */
|
|
||||||
static const int SHUTDOWN_RETRIES = 3; /* number of shutdown packets to send before giving up */
|
static const int SHUTDOWN_RETRIES = 3; /* number of shutdown packets to send before giving up */
|
||||||
|
|
||||||
/* helper methods for tick() */
|
/* helper methods for tick() */
|
||||||
@@ -62,6 +61,8 @@ namespace Network {
|
|||||||
uint64_t ack_num;
|
uint64_t ack_num;
|
||||||
bool pending_data_ack;
|
bool pending_data_ack;
|
||||||
|
|
||||||
|
int SEND_MINDELAY; /* ms to collect all input */
|
||||||
|
|
||||||
public:
|
public:
|
||||||
/* constructor */
|
/* constructor */
|
||||||
TransportSender( Connection *s_connection, MyState &initial_state );
|
TransportSender( Connection *s_connection, MyState &initial_state );
|
||||||
@@ -95,6 +96,8 @@ namespace Network {
|
|||||||
bool get_counterparty_shutdown_acknowledged( void ) { return fragmenter.last_ack_sent() == uint64_t(-1); }
|
bool get_counterparty_shutdown_acknowledged( void ) { return fragmenter.last_ack_sent() == uint64_t(-1); }
|
||||||
bool shutdown_ack_timed_out( void );
|
bool shutdown_ack_timed_out( void );
|
||||||
|
|
||||||
|
void set_send_delay( int new_delay ) { SEND_MINDELAY = new_delay; }
|
||||||
|
|
||||||
/* nonexistent methods to satisfy -Weffc++ */
|
/* nonexistent methods to satisfy -Weffc++ */
|
||||||
TransportSender( const TransportSender &x );
|
TransportSender( const TransportSender &x );
|
||||||
TransportSender & operator=( const TransportSender &x );
|
TransportSender & operator=( const TransportSender &x );
|
||||||
|
|||||||
Reference in New Issue
Block a user