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

Side by Side Diff: remoting/protocol/monitored_video_stub.cc

Issue 2890833002: Adding ThreadChecker validation to d'tors for protocol classes (Closed)
Patch Set: Created 3 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
« no previous file with comments | « remoting/protocol/jingle_session.cc ('k') | remoting/protocol/video_frame_pump.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "remoting/protocol/monitored_video_stub.h" 5 #include "remoting/protocol/monitored_video_stub.h"
6 6
7 #include <utility> 7 #include <utility>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
11 #include "remoting/proto/video.pb.h" 11 #include "remoting/proto/video.pb.h"
12 12
13 namespace remoting { 13 namespace remoting {
14 namespace protocol { 14 namespace protocol {
15 15
16 MonitoredVideoStub::MonitoredVideoStub(VideoStub* video_stub, 16 MonitoredVideoStub::MonitoredVideoStub(VideoStub* video_stub,
17 base::TimeDelta connectivity_check_delay, 17 base::TimeDelta connectivity_check_delay,
18 const ChannelStateCallback& callback) 18 const ChannelStateCallback& callback)
19 : video_stub_(video_stub), 19 : video_stub_(video_stub),
20 callback_(callback), 20 callback_(callback),
21 is_connected_(false), 21 is_connected_(false),
22 connectivity_check_timer_( 22 connectivity_check_timer_(
23 FROM_HERE, 23 FROM_HERE,
24 connectivity_check_delay, 24 connectivity_check_delay,
25 this, 25 this,
26 &MonitoredVideoStub::OnConnectivityCheckTimeout) { 26 &MonitoredVideoStub::OnConnectivityCheckTimeout) {
27 } 27 }
28 28
29 MonitoredVideoStub::~MonitoredVideoStub() { 29 MonitoredVideoStub::~MonitoredVideoStub() {
30 DCHECK(thread_checker_.CalledOnValidThread());
30 } 31 }
31 32
32 void MonitoredVideoStub::ProcessVideoPacket(std::unique_ptr<VideoPacket> packet, 33 void MonitoredVideoStub::ProcessVideoPacket(std::unique_ptr<VideoPacket> packet,
33 const base::Closure& done) { 34 const base::Closure& done) {
34 DCHECK(thread_checker_.CalledOnValidThread()); 35 DCHECK(thread_checker_.CalledOnValidThread());
35 36
36 connectivity_check_timer_.Reset(); 37 connectivity_check_timer_.Reset();
37 38
38 NotifyChannelState(true); 39 NotifyChannelState(true);
39 40
40 video_stub_->ProcessVideoPacket(std::move(packet), done); 41 video_stub_->ProcessVideoPacket(std::move(packet), done);
41 } 42 }
42 43
43 void MonitoredVideoStub::OnConnectivityCheckTimeout() { 44 void MonitoredVideoStub::OnConnectivityCheckTimeout() {
44 DCHECK(thread_checker_.CalledOnValidThread()); 45 DCHECK(thread_checker_.CalledOnValidThread());
45 NotifyChannelState(false); 46 NotifyChannelState(false);
46 } 47 }
47 48
48 void MonitoredVideoStub::NotifyChannelState(bool connected) { 49 void MonitoredVideoStub::NotifyChannelState(bool connected) {
49 if (is_connected_ != connected) { 50 if (is_connected_ != connected) {
50 is_connected_ = connected; 51 is_connected_ = connected;
51 callback_.Run(is_connected_); 52 callback_.Run(is_connected_);
52 } 53 }
53 } 54 }
54 55
55 } // namespace protocol 56 } // namespace protocol
56 } // namespace remoting 57 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/protocol/jingle_session.cc ('k') | remoting/protocol/video_frame_pump.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698