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

Unified Diff: remoting/protocol/host_message_dispatcher.cc

Issue 6271004: Changed MessageReader so that it doesn't read from the socket if there are (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: proper handling of empty messages Created 9 years, 11 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/host_message_dispatcher.cc
diff --git a/remoting/protocol/host_message_dispatcher.cc b/remoting/protocol/host_message_dispatcher.cc
index 2554c9b2d4d600a42c7a2a2a5c888efb2683bc67..e32435191ea884dd88749564e73bdc221bed2b9b 100644
--- a/remoting/protocol/host_message_dispatcher.cc
+++ b/remoting/protocol/host_message_dispatcher.cc
@@ -11,7 +11,6 @@
#include "remoting/protocol/host_stub.h"
#include "remoting/protocol/input_stub.h"
#include "remoting/protocol/message_reader.h"
-#include "remoting/protocol/ref_counted_message.h"
#include "remoting/protocol/session.h"
namespace remoting {
@@ -47,34 +46,30 @@ void HostMessageDispatcher::Initialize(
NewCallback(this, &HostMessageDispatcher::OnControlMessageReceived));
}
-void HostMessageDispatcher::OnControlMessageReceived(ControlMessage* message) {
- scoped_refptr<RefCountedMessage<ControlMessage> > ref_msg =
- new RefCountedMessage<ControlMessage>(message);
+void HostMessageDispatcher::OnControlMessageReceived(
+ ControlMessage* message, Task* done_task) {
if (message->has_suggest_resolution()) {
- host_stub_->SuggestResolution(
- &message->suggest_resolution(), NewDeleteTask(ref_msg));
+ host_stub_->SuggestResolution(&message->suggest_resolution(), done_task);
} else if (message->has_begin_session_request()) {
host_stub_->BeginSessionRequest(
- &message->begin_session_request().credentials(),
- NewDeleteTask(ref_msg));
+ &message->begin_session_request().credentials(), done_task);
} else {
- NOTREACHED() << "Invalid control message received";
+ LOG(ERROR) << "Invalid control message received.";
Alpha Left Google 2011/01/20 20:54:52 Same here NOTREACHED is better, we should be more
+ done_task->Run();
+ delete done_task;
}
}
void HostMessageDispatcher::OnEventMessageReceived(
- EventMessage* message) {
- scoped_refptr<RefCountedMessage<EventMessage> > ref_msg =
- new RefCountedMessage<EventMessage>(message);
- for (int i = 0; i < message->event_size(); ++i) {
- if (message->event(i).has_key()) {
- input_stub_->InjectKeyEvent(
- &message->event(i).key(), NewDeleteTask(ref_msg));
- }
- if (message->event(i).has_mouse()) {
- input_stub_->InjectMouseEvent(
- &message->event(i).mouse(), NewDeleteTask(ref_msg));
- }
+ EventMessage* message, Task* done_task) {
+ if (message->has_key()) {
+ input_stub_->InjectKeyEvent(&message->key(), done_task);
+ } else if (message->has_mouse()) {
+ input_stub_->InjectMouseEvent(&message->mouse(), done_task);
+ } else {
+ LOG(ERROR) << "Invalid event message received.";
+ done_task->Run();
+ delete done_task;
}
}

Powered by Google App Engine
This is Rietveld 408576698