summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJackLivio <jack@livio.io>2018-02-02 10:54:09 -0500
committerJackLivio <jack@livio.io>2018-02-02 10:54:09 -0500
commita2f218596ab897d04b37a9fa0052299c4dba2caa (patch)
tree571fd2436ed13f85c7960def942435ed205e9d9f
parent585b15c23ed20b90f2d92d68b0b303825c06ee0a (diff)
downloadsdl_core-feature/boost_websocket_message_broker.tar.gz
Handle error processing and fix shutdown issuefeature/boost_websocket_message_broker
-rw-r--r--src/components/hmi_message_handler/src/mb_controller.cc13
-rw-r--r--src/components/hmi_message_handler/src/websocket_session.cc4
2 files changed, 8 insertions, 9 deletions
diff --git a/src/components/hmi_message_handler/src/mb_controller.cc b/src/components/hmi_message_handler/src/mb_controller.cc
index ef7b28cb55..d7fb432df2 100644
--- a/src/components/hmi_message_handler/src/mb_controller.cc
+++ b/src/components/hmi_message_handler/src/mb_controller.cc
@@ -382,7 +382,7 @@ namespace NsMessageBroker
err["code"] = CONTROLLER_EXISTS;
err["message"] = "Controller has been already registered.";
error["error"] = err;
- //process error
+ ws_session->sendJsonMessage(error);
}
} else {
Json::Value error, err;
@@ -391,8 +391,7 @@ namespace NsMessageBroker
err["code"] = INVALID_REQUEST;
err["message"] = "Wrong method parameter.";
error["error"] = err;
- //ToDO send error
-
+ ws_session->sendJsonMessage(error);
}
} else if (methodName == "subscribeTo") {
Json::Value params = message["params"];
@@ -411,7 +410,7 @@ namespace NsMessageBroker
err["code"] = CONTROLLER_EXISTS;
err["message"] = "Subscribe has been already registered.";
error["error"] = err;
- //send error for already subscribed
+ ws_session->sendJsonMessage(error);
}
} else {
Json::Value error, err;
@@ -420,7 +419,7 @@ namespace NsMessageBroker
err["code"] = INVALID_REQUEST;
err["message"] = "Wrong method parameter.";
error["error"] = err;
- //ToDO send error
+ ws_session->sendJsonMessage(error);
}
} else if (methodName == "unregisterComponent" ) {
@@ -440,7 +439,7 @@ namespace NsMessageBroker
err["code"] = INVALID_REQUEST;
err["message"] = "Wrong method parameter.";
error["error"] = err;
- //processError(new CMessage(pMessage->getSenderFd(), error));
+ ws_session->sendJsonMessage(error);
}
} else if (methodName == "unsubscribeFrom") {
Json::Value params = message["params"];
@@ -459,7 +458,7 @@ namespace NsMessageBroker
err["code"] = INVALID_REQUEST;
err["message"] = "Wrong method parameter.";
error["error"] = err;
- //processError(new CMessage(pMessage->getSenderFd(), error));
+ ws_session->sendJsonMessage(error);
}
} else {
diff --git a/src/components/hmi_message_handler/src/websocket_session.cc b/src/components/hmi_message_handler/src/websocket_session.cc
index afd8ce5994..3484278c1a 100644
--- a/src/components/hmi_message_handler/src/websocket_session.cc
+++ b/src/components/hmi_message_handler/src/websocket_session.cc
@@ -186,11 +186,10 @@ namespace NsMessageBroker
controller_->pushRequest(message, this);
controller_->processRequest(message);
}
-
-
}
} else {
DBG_MSG_ERROR(("Message contains wrong data!\n"));
+ sendJsonMessage(error);
}
}
@@ -330,5 +329,6 @@ namespace NsMessageBroker
void WebsocketSession::LoopThreadDelegate::SetShutdown(){
shutdown_ = true;
+ message_queue_.Shutdown();
}
} \ No newline at end of file