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

Side by Side Diff: mojo/public/cpp/bindings/lib/router.cc

Issue 399313007: Mojo: Convert assert()s under mojo/public/cpp/bindings/... to MOJO_DCHECK()s. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 5 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "mojo/public/cpp/bindings/lib/router.h" 5 #include "mojo/public/cpp/bindings/lib/router.h"
6 6
7 #include "mojo/public/cpp/environment/logging.h"
8
7 namespace mojo { 9 namespace mojo {
8 namespace internal { 10 namespace internal {
9 11
10 // ---------------------------------------------------------------------------- 12 // ----------------------------------------------------------------------------
11 13
12 class ResponderThunk : public MessageReceiver { 14 class ResponderThunk : public MessageReceiver {
13 public: 15 public:
14 explicit ResponderThunk(const SharedData<Router*>& router) 16 explicit ResponderThunk(const SharedData<Router*>& router)
15 : router_(router) { 17 : router_(router) {
16 } 18 }
17 virtual ~ResponderThunk() { 19 virtual ~ResponderThunk() {
18 } 20 }
19 21
20 // MessageReceiver implementation: 22 // MessageReceiver implementation:
21 virtual bool Accept(Message* message) MOJO_OVERRIDE { 23 virtual bool Accept(Message* message) MOJO_OVERRIDE {
22 assert(message->has_flag(kMessageIsResponse)); 24 MOJO_DCHECK(message->has_flag(kMessageIsResponse));
23 25
24 bool result = false; 26 bool result = false;
25 27
26 Router* router = router_.value(); 28 Router* router = router_.value();
27 if (router) 29 if (router)
28 result = router->Accept(message); 30 result = router->Accept(message);
29 31
30 return result; 32 return result;
31 } 33 }
32 34
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
66 Router::~Router() { 68 Router::~Router() {
67 weak_self_.set_value(NULL); 69 weak_self_.set_value(NULL);
68 70
69 for (ResponderMap::const_iterator i = responders_.begin(); 71 for (ResponderMap::const_iterator i = responders_.begin();
70 i != responders_.end(); ++i) { 72 i != responders_.end(); ++i) {
71 delete i->second; 73 delete i->second;
72 } 74 }
73 } 75 }
74 76
75 bool Router::Accept(Message* message) { 77 bool Router::Accept(Message* message) {
76 assert(!message->has_flag(kMessageExpectsResponse)); 78 MOJO_DCHECK(!message->has_flag(kMessageExpectsResponse));
77 return connector_.Accept(message); 79 return connector_.Accept(message);
78 } 80 }
79 81
80 bool Router::AcceptWithResponder(Message* message, 82 bool Router::AcceptWithResponder(Message* message,
81 MessageReceiver* responder) { 83 MessageReceiver* responder) {
82 assert(message->has_flag(kMessageExpectsResponse)); 84 MOJO_DCHECK(message->has_flag(kMessageExpectsResponse));
83 85
84 // Reserve 0 in case we want it to convey special meaning in the future. 86 // Reserve 0 in case we want it to convey special meaning in the future.
85 uint64_t request_id = next_request_id_++; 87 uint64_t request_id = next_request_id_++;
86 if (request_id == 0) 88 if (request_id == 0)
87 request_id = next_request_id_++; 89 request_id = next_request_id_++;
88 90
89 message->set_request_id(request_id); 91 message->set_request_id(request_id);
90 if (!connector_.Accept(message)) 92 if (!connector_.Accept(message))
91 return false; 93 return false;
92 94
(...skipping 17 matching lines...) Expand all
110 return ok; 112 return ok;
111 } 113 }
112 114
113 // If we receive a request expecting a response when the client is not 115 // If we receive a request expecting a response when the client is not
114 // listening, then we have no choice but to tear down the pipe. 116 // listening, then we have no choice but to tear down the pipe.
115 connector_.CloseMessagePipe(); 117 connector_.CloseMessagePipe();
116 } else if (message->has_flag(kMessageIsResponse)) { 118 } else if (message->has_flag(kMessageIsResponse)) {
117 uint64_t request_id = message->request_id(); 119 uint64_t request_id = message->request_id();
118 ResponderMap::iterator it = responders_.find(request_id); 120 ResponderMap::iterator it = responders_.find(request_id);
119 if (it == responders_.end()) { 121 if (it == responders_.end()) {
120 assert(testing_mode_); 122 MOJO_DCHECK(testing_mode_);
121 return false; 123 return false;
122 } 124 }
123 MessageReceiver* responder = it->second; 125 MessageReceiver* responder = it->second;
124 responders_.erase(it); 126 responders_.erase(it);
125 bool ok = responder->Accept(message); 127 bool ok = responder->Accept(message);
126 delete responder; 128 delete responder;
127 return ok; 129 return ok;
128 } else { 130 } else {
129 if (incoming_receiver_) 131 if (incoming_receiver_)
130 return incoming_receiver_->Accept(message); 132 return incoming_receiver_->Accept(message);
131 // OK to drop message on the floor. 133 // OK to drop message on the floor.
132 } 134 }
133 135
134 return false; 136 return false;
135 } 137 }
136 138
137 // ---------------------------------------------------------------------------- 139 // ----------------------------------------------------------------------------
138 140
139 } // namespace internal 141 } // namespace internal
140 } // namespace mojo 142 } // namespace mojo
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698