Skip to content

Commit

Permalink
Apply smaller timeout to requests
Browse files Browse the repository at this point in the history
  • Loading branch information
AKalinich-Luxoft committed Jun 28, 2021
1 parent f27c548 commit fd71265
Show file tree
Hide file tree
Showing 6 changed files with 8 additions and 66 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -106,11 +106,6 @@ class RequestControllerImpl : public RequestController {
const uint32_t mobile_correlation_id,
const uint32_t new_timeout) OVERRIDE;

bool IsRequestTimeoutUpdateRequired(
const uint32_t app_id,
const uint32_t correlation_id,
const uint32_t new_timeout) const OVERRIDE;

void OnLowVoltage() OVERRIDE;

void OnWakeUp() OVERRIDE;
Expand Down
17 changes: 0 additions & 17 deletions src/components/application_manager/src/request_controller_impl.cc
Original file line number Diff line number Diff line change
Expand Up @@ -166,23 +166,6 @@ bool RequestControllerImpl::CheckPendingRequestsAmount(
return true;
}

bool RequestControllerImpl::IsRequestTimeoutUpdateRequired(
const uint32_t app_id,
const uint32_t correlation_id,
const uint32_t new_timeout) const {
SDL_LOG_AUTO_TRACE();
auto request_info = waiting_for_response_.Find(app_id, correlation_id);
if (request_info) {
date_time::TimeDuration current_time = date_time::getCurrentTime();
const date_time::TimeDuration end_time = request_info->end_time();
date_time::AddMilliseconds(current_time, new_timeout);
if (date_time::getmSecs(current_time) > date_time::getmSecs(end_time)) {
return true;
}
}
return false;
}

RequestController::TResult RequestControllerImpl::AddMobileRequest(
const RequestPtr request, const mobile_apis::HMILevel::eType& hmi_level) {
SDL_LOG_AUTO_TRACE();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -66,23 +66,18 @@ bool RequestTimeoutHandlerImpl::IsTimeoutUpdateRequired(
const Request& request,
const uint32_t timeout,
const hmi_apis::FunctionID::eType method_name) {
if (static_cast<hmi_apis::FunctionID::eType>(request.hmi_function_id_) ==
method_name) {
if (application_manager_.get_request_controller()
.IsRequestTimeoutUpdateRequired(request.connection_key_,
request.mob_correlation_id_,
timeout)) {
return true;
}
if (0 == timeout) {
SDL_LOG_WARN("Zero timeout ignored");
return false;
}

SDL_LOG_WARN(
"New timeout value is less than the time remaining from "
"the current timeout. OnResetTimeout will be ignored");
if (static_cast<hmi_apis::FunctionID::eType>(request.hmi_function_id_) !=
method_name) {
SDL_LOG_WARN("Method name does not match the hmi function id");
return false;
}

SDL_LOG_WARN("Method name does not match the hmi function id");
return false;
return true;
}

void RequestTimeoutHandlerImpl::on_event(const event_engine::Event& event) {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -157,10 +157,6 @@ TEST_F(RequestTimeoutHandlerTest, OnEvent_OnResetTimeout_SUCCESS) {
EXPECT_CALL(app_mngr_, get_request_timeout_handler())
.WillOnce(ReturnRef(*request_timeout_handler_));

EXPECT_CALL(mock_request_controller_,
IsRequestTimeoutUpdateRequired(
mock_app->app_id(), command->correlation_id(), kTimeout))
.WillOnce(Return(true));
EXPECT_CALL(app_mngr_,
UpdateRequestTimeout(
mock_app->app_id(), command->correlation_id(), kTimeout));
Expand Down Expand Up @@ -203,11 +199,6 @@ TEST_F(RequestTimeoutHandlerTest, OnEvent_OnResetTimeout_MissedResetPeriod) {

EXPECT_CALL(app_mngr_, get_request_timeout_handler())
.WillOnce(ReturnRef(*request_timeout_handler_));
EXPECT_CALL(
mock_request_controller_,
IsRequestTimeoutUpdateRequired(
mock_app->app_id(), command->correlation_id(), kDefaultTimeout))
.WillOnce(Return(true));
EXPECT_CALL(
app_mngr_,
UpdateRequestTimeout(
Expand Down Expand Up @@ -251,8 +242,6 @@ TEST_F(RequestTimeoutHandlerTest, OnEvent_OnResetTimeout_InvalidRequestId) {

EXPECT_CALL(app_mngr_, get_request_timeout_handler())
.WillOnce(ReturnRef(*request_timeout_handler_));
EXPECT_CALL(mock_request_controller_, IsRequestTimeoutUpdateRequired(_, _, _))
.Times(0);
EXPECT_CALL(app_mngr_, UpdateRequestTimeout(_, _, _)).Times(0);

ASSERT_TRUE(command->Init());
Expand Down Expand Up @@ -290,8 +279,6 @@ TEST_F(RequestTimeoutHandlerTest, OnEvent_OnResetTimeout_InvalidMethodName) {

EXPECT_CALL(app_mngr_, get_request_timeout_handler())
.WillOnce(ReturnRef(*request_timeout_handler_));
EXPECT_CALL(mock_request_controller_, IsRequestTimeoutUpdateRequired(_, _, _))
.Times(0);
EXPECT_CALL(app_mngr_, UpdateRequestTimeout(_, _, _)).Times(0);

ASSERT_TRUE(command->Init());
Expand Down
14 changes: 0 additions & 14 deletions src/components/include/application_manager/request_controller.h
Original file line number Diff line number Diff line change
Expand Up @@ -172,20 +172,6 @@ class RequestController {
virtual void UpdateRequestTimeout(const uint32_t app_id,
const uint32_t mobile_correlation_id,
const uint32_t new_timeout) = 0;

/**
* @brief IsRequestTimeoutUpdateRequired check is update timeout required.
* @param app_id Connection key of application
* @param correlation_id Correlation ID of the mobile request
* @param new_timeout New timeout value which should be compared with the
* remaining time of specified request
* @return true if the new timeout value is greater than the time remaining
* from the current timeout, otherwise - false
*/
virtual bool IsRequestTimeoutUpdateRequired(
const uint32_t app_id,
const uint32_t correlation_id,
const uint32_t new_timeout) const = 0;
/**
* @brief Function Should be called when Low Voltage is occured
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -76,10 +76,6 @@ class MockRequestController
void(const uint32_t app_id,
const uint32_t mobile_correlation_id,
const uint32_t new_timeout));
MOCK_CONST_METHOD3(IsRequestTimeoutUpdateRequired,
bool(const uint32_t app_id,
const uint32_t correlation_id,
const uint32_t new_timeout));
MOCK_METHOD0(OnLowVoltage, void());
MOCK_METHOD0(OnWakeUp, void());
MOCK_METHOD0(IsLowVoltage, bool());
Expand Down

0 comments on commit fd71265

Please sign in to comment.