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

Side by Side Diff: blimp/net/blimp_message_demultiplexer.cc

Issue 1933053003: Used oneof in blimp_message.proto (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added oneof to protocol_control.proto 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 unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "blimp/net/blimp_message_demultiplexer.h" 5 #include "blimp/net/blimp_message_demultiplexer.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/strings/stringprintf.h" 9 #include "base/strings/stringprintf.h"
10 #include "blimp/common/logging.h" 10 #include "blimp/common/logging.h"
11 #include "blimp/net/common.h" 11 #include "blimp/net/common.h"
12 #include "net/base/net_errors.h" 12 #include "net/base/net_errors.h"
13 13
14 namespace blimp { 14 namespace blimp {
15 15
16 BlimpMessageDemultiplexer::BlimpMessageDemultiplexer() {} 16 BlimpMessageDemultiplexer::BlimpMessageDemultiplexer() {}
17 17
18 BlimpMessageDemultiplexer::~BlimpMessageDemultiplexer() {} 18 BlimpMessageDemultiplexer::~BlimpMessageDemultiplexer() {}
19 19
20 void BlimpMessageDemultiplexer::AddProcessor(BlimpMessage::Type type, 20 void BlimpMessageDemultiplexer::AddProcessor(
21 BlimpMessageProcessor* receiver) { 21 BlimpMessage::FeatureCase feature_case,
22 BlimpMessageProcessor* receiver) {
22 DCHECK(receiver); 23 DCHECK(receiver);
23 if (feature_receiver_map_.find(type) == feature_receiver_map_.end()) { 24 if (feature_receiver_map_.find(feature_case) == feature_receiver_map_.end()) {
24 feature_receiver_map_.insert(std::make_pair(type, receiver)); 25 feature_receiver_map_.insert(std::make_pair(feature_case, receiver));
25 } else { 26 } else {
26 DLOG(FATAL) << "Handler already registered for type=" << type << "."; 27 DLOG(FATAL) << "Handler already registered for type=" << feature_case
Kevin M 2016/05/20 18:28:16 "feature="
shaktisahu 2016/05/20 22:29:41 Done.
28 << ".";
27 } 29 }
28 } 30 }
29 31
30 void BlimpMessageDemultiplexer::ProcessMessage( 32 void BlimpMessageDemultiplexer::ProcessMessage(
31 std::unique_ptr<BlimpMessage> message, 33 std::unique_ptr<BlimpMessage> message,
32 const net::CompletionCallback& callback) { 34 const net::CompletionCallback& callback) {
33 DVLOG(2) << "ProcessMessage : " << *message; 35 DVLOG(2) << "ProcessMessage : " << *message;
34 auto receiver_iter = feature_receiver_map_.find(message->type()); 36 auto receiver_iter = feature_receiver_map_.find(message->feature_case());
35 if (receiver_iter == feature_receiver_map_.end()) { 37 if (receiver_iter == feature_receiver_map_.end()) {
36 DLOG(ERROR) << "No registered receiver for " << *message << "."; 38 DLOG(ERROR) << "No registered receiver for " << *message << ".";
37 if (!callback.is_null()) { 39 if (!callback.is_null()) {
38 callback.Run(net::ERR_NOT_IMPLEMENTED); 40 callback.Run(net::ERR_NOT_IMPLEMENTED);
39 } 41 }
40 return; 42 return;
41 } 43 }
42 44
43 DVLOG(2) << "Routed message " << *message << "."; 45 DVLOG(2) << "Routed message " << *message << ".";
44 receiver_iter->second->ProcessMessage(std::move(message), callback); 46 receiver_iter->second->ProcessMessage(std::move(message), callback);
45 } 47 }
46 48
47 } // namespace blimp 49 } // namespace blimp
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698