void SSPAggrServerThread::ServerPushRow() { //LOG(INFO) << __func__; if (!msg_tracker_.CheckSendAll()) { //LOG(INFO) << "server has to wait"; STATS_SERVER_ACCUM_WAITS_ON_ACK_CLOCK(); pending_clock_push_row_ = true; return; } STATS_SERVER_ACCUM_PUSH_ROW_BEGIN(); size_t sent_bytes = server_obj_.CreateSendServerPushRowMsgs(SendServerPushRowMsg); STATS_SERVER_ACCUM_PUSH_ROW_END(); double left_over_send_milli_sec = 0; if (row_send_milli_sec_ > 1) { double send_elapsed_milli = msg_send_timer_.elapsed() * kOneThousand; left_over_send_milli_sec = std::max<double>(0, row_send_milli_sec_ - send_elapsed_milli); } row_send_milli_sec_ = TransTimeEstimate::EstimateTransMillisec( sent_bytes, GlobalContext::get_server_bandwidth_mbps()) + left_over_send_milli_sec; msg_send_timer_.restart(); //LOG(INFO) << "Server clock sent_size = " << sent_bytes // << " row_send_milli_sec = " << row_send_milli_sec_ // << " left_over_send_milli_sec = " << left_over_send_milli_sec; }
void SSPAggrServerThread::ServerPushRow(bool clock_changed) { STATS_SERVER_ACCUM_PUSH_ROW_BEGIN(); size_t sent_bytes = server_obj_.CreateSendServerPushRowMsgs(SendServerPushRowMsg); STATS_SERVER_ACCUM_PUSH_ROW_END(); row_send_milli_sec_ = TransTimeEstimate::EstimateTransMillisec(sent_bytes); msg_send_timer_.restart(); }