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

Side by Side Diff: blimp/client/core/session/connection_status.cc

Issue 2462183002: GRPC Stream implementation of HeliumStream
Patch Set: Fixed a few minor comments Created 4 years, 1 month 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 2016 The Chromium Authors. All rights reserved. 1 // Copyright 2016 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/client/core/session/connection_status.h" 5 #include "blimp/client/core/session/connection_status.h"
6 6
7 #include "base/metrics/histogram_macros.h" 7 #include "base/metrics/histogram_macros.h"
8 8
9 namespace blimp { 9 namespace blimp {
10 namespace client { 10 namespace client {
11 11
12 ConnectionStatus::ConnectionStatus() 12 ConnectionStatus::ConnectionStatus()
13 : is_connected_(false), weak_factory_(this) {} 13 : is_connected_(false), weak_factory_(this) {}
14 14
15 ConnectionStatus::~ConnectionStatus() = default; 15 ConnectionStatus::~ConnectionStatus() = default;
16 16
17 void ConnectionStatus::AddObserver(NetworkEventObserver* observer) { 17 void ConnectionStatus::AddObserver(NetworkEventObserver* observer) {
18 connection_observers_.AddObserver(observer); 18 connection_observers_.AddObserver(observer);
19 } 19 }
20 20
21 void ConnectionStatus::RemoveObserver(NetworkEventObserver* observer) { 21 void ConnectionStatus::RemoveObserver(NetworkEventObserver* observer) {
22 connection_observers_.RemoveObserver(observer); 22 connection_observers_.RemoveObserver(observer);
23 } 23 }
24 24
25 void ConnectionStatus::OnAssignmentResult(int result, 25 void ConnectionStatus::OnAssignmentResult(int result,
26 const Assignment& assignment) { 26 const Assignment& assignment) {
27 if (result == AssignmentRequestResult::ASSIGNMENT_REQUEST_RESULT_OK) { 27 if (result == AssignmentRequestResult::ASSIGNMENT_REQUEST_RESULT_OK) {
28 engine_endpoint_ = assignment.engine_endpoint; 28 assignment_options_ = assignment.assignment_options;
29 } 29 }
30 } 30 }
31 31
32 base::WeakPtr<ConnectionStatus> ConnectionStatus::GetWeakPtr() { 32 base::WeakPtr<ConnectionStatus> ConnectionStatus::GetWeakPtr() {
33 return weak_factory_.GetWeakPtr(); 33 return weak_factory_.GetWeakPtr();
34 } 34 }
35 35
36 void ConnectionStatus::OnConnected() { 36 void ConnectionStatus::OnConnected() {
37 is_connected_ = true; 37 is_connected_ = true;
38 UMA_HISTOGRAM_BOOLEAN("Blimp.Connected", true); 38 UMA_HISTOGRAM_BOOLEAN("Blimp.Connected", true);
39 for (auto& observer : connection_observers_) 39 for (auto& observer : connection_observers_)
40 observer.OnConnected(); 40 observer.OnConnected();
41 } 41 }
42 42
43 void ConnectionStatus::OnDisconnected(int result) { 43 void ConnectionStatus::OnDisconnected(int result) {
44 is_connected_ = false; 44 is_connected_ = false;
45 UMA_HISTOGRAM_BOOLEAN("Blimp.Connected", false); 45 UMA_HISTOGRAM_BOOLEAN("Blimp.Connected", false);
46 for (auto& observer : connection_observers_) 46 for (auto& observer : connection_observers_) {
47 observer.OnDisconnected(result); 47 observer.OnDisconnected(result);
48 }
48 } 49 }
49 50
50 } // namespace client 51 } // namespace client
51 } // namespace blimp 52 } // namespace blimp
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698