Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(847)

Unified Diff: remoting/protocol/jingle_session.cc

Issue 2026123002: [Chromoting] Use google:remoting namespace to export remoting specific error codes (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Resolve review comments Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: remoting/protocol/jingle_session.cc
diff --git a/remoting/protocol/jingle_session.cc b/remoting/protocol/jingle_session.cc
index 8a24662699779189f62a957cdc984fa73d5ab6e0..3b0bd42d6a98fa25d13d587891f997b915adef58 100644
--- a/remoting/protocol/jingle_session.cc
+++ b/remoting/protocol/jingle_session.cc
@@ -240,18 +240,21 @@ void JingleSession::Close(protocol::ErrorCode error) {
if (is_session_active()) {
// Send session-terminate message with the appropriate error code.
JingleMessage::Reason reason;
+ ErrorCode error_code = UNKNOWN_ERROR;
Sergey Ulanov 2016/06/02 09:26:04 I think we want to set error_code for _all_ errors
Hzj_jie 2016/06/02 22:00:19 Done.
switch (error) {
case OK:
reason = JingleMessage::SUCCESS;
break;
case SESSION_REJECTED:
+ reason = JingleMessage::DECLINE;
+ error_code = SESSION_REJECTED;
case AUTHENTICATION_FAILED:
reason = JingleMessage::DECLINE;
+ error_code = AUTHENTICATION_FAILED;
break;
case INVALID_ACCOUNT:
- // TODO(zijiehe): Instead of using SECURITY_ERROR Jingle reason, add a
- // new tag under crd namespace to export detail error reason to client.
- reason = JingleMessage::SECURITY_ERROR;
+ reason = JingleMessage::DECLINE;
+ error_code = INVALID_ACCOUNT;
break;
case INCOMPATIBLE_PROTOCOL:
reason = JingleMessage::INCOMPATIBLE_PARAMETERS;
@@ -272,6 +275,7 @@ void JingleSession::Close(protocol::ErrorCode error) {
JingleMessage message(peer_address_, JingleMessage::SESSION_TERMINATE,
session_id_);
message.reason = reason;
+ message.error_code = error_code;
Sergey Ulanov 2016/06/02 09:26:04 message.error_code = error; and remove error_code
Hzj_jie 2016/06/02 22:00:19 Done.
SendMessage(message);
}
@@ -481,37 +485,48 @@ void JingleSession::OnTerminate(const JingleMessage& message,
reply_callback.Run(JingleMessageReply::NONE);
- switch (message.reason) {
- case JingleMessage::SUCCESS:
- if (state_ == CONNECTING) {
- error_ = SESSION_REJECTED;
- } else {
- error_ = OK;
- }
+ switch (message.error_code) {
Sergey Ulanov 2016/06/02 09:26:04 You don't need this switch. Just replace it with
Hzj_jie 2016/06/02 22:00:19 Done.
+ case SESSION_REJECTED:
+ // For backward compatibility, we still use AUTHENTICATION_FAILED for
+ // SESSION_REJECTED error.
+ error_ = AUTHENTICATION_FAILED;
break;
- case JingleMessage::DECLINE:
+ case AUTHENTICATION_FAILED:
error_ = AUTHENTICATION_FAILED;
break;
- case JingleMessage::SECURITY_ERROR:
+ case INVALID_ACCOUNT:
error_ = INVALID_ACCOUNT;
break;
- case JingleMessage::CANCEL:
- error_ = HOST_OVERLOAD;
- break;
- case JingleMessage::EXPIRED:
- error_ = MAX_SESSION_LENGTH;
- break;
- case JingleMessage::INCOMPATIBLE_PARAMETERS:
- error_ = INCOMPATIBLE_PROTOCOL;
- break;
- case JingleMessage::FAILED_APPLICATION:
- error_ = HOST_CONFIGURATION_ERROR;
- break;
- case JingleMessage::GENERAL_ERROR:
- error_ = CHANNEL_CONNECTION_ERROR;
- break;
default:
- error_ = UNKNOWN_ERROR;
+ switch (message.reason) {
Sergey Ulanov 2016/06/02 09:26:04 switch inside a switch is hard for humans to parse
Hzj_jie 2016/06/02 22:00:19 Done.
+ case JingleMessage::SUCCESS:
+ if (state_ == CONNECTING) {
+ error_ = SESSION_REJECTED;
+ } else {
+ error_ = OK;
+ }
+ break;
+ case JingleMessage::DECLINE:
+ error_ = AUTHENTICATION_FAILED;
+ break;
+ case JingleMessage::CANCEL:
+ error_ = HOST_OVERLOAD;
+ break;
+ case JingleMessage::EXPIRED:
+ error_ = MAX_SESSION_LENGTH;
+ break;
+ case JingleMessage::INCOMPATIBLE_PARAMETERS:
+ error_ = INCOMPATIBLE_PROTOCOL;
+ break;
+ case JingleMessage::FAILED_APPLICATION:
+ error_ = HOST_CONFIGURATION_ERROR;
+ break;
+ case JingleMessage::GENERAL_ERROR:
+ error_ = CHANNEL_CONNECTION_ERROR;
+ break;
+ default:
+ error_ = UNKNOWN_ERROR;
+ }
}
if (error_ != OK) {

Powered by Google App Engine
This is Rietveld 408576698