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

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

Issue 1197853003: Add P2PDatagramSocket and P2PStreamSocket interfaces. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 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
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 "remoting/protocol/channel_socket_adapter.h" 5 #include "remoting/protocol/channel_socket_adapter.h"
6 6
7 #include <limits> 7 #include <limits>
8 8
9 #include "base/callback.h" 9 #include "base/callback.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 21 matching lines...) Expand all
32 TransportChannelSocketAdapter::~TransportChannelSocketAdapter() { 32 TransportChannelSocketAdapter::~TransportChannelSocketAdapter() {
33 if (!destruction_callback_.is_null()) 33 if (!destruction_callback_.is_null())
34 destruction_callback_.Run(); 34 destruction_callback_.Run();
35 } 35 }
36 36
37 void TransportChannelSocketAdapter::SetOnDestroyedCallback( 37 void TransportChannelSocketAdapter::SetOnDestroyedCallback(
38 const base::Closure& callback) { 38 const base::Closure& callback) {
39 destruction_callback_ = callback; 39 destruction_callback_ = callback;
40 } 40 }
41 41
42 int TransportChannelSocketAdapter::Read( 42 int TransportChannelSocketAdapter::Recv(
43 net::IOBuffer* buf, 43 const scoped_refptr<net::IOBuffer>& buf, int buffer_size,
44 int buffer_size,
45 const net::CompletionCallback& callback) { 44 const net::CompletionCallback& callback) {
46 DCHECK(thread_checker_.CalledOnValidThread()); 45 DCHECK(thread_checker_.CalledOnValidThread());
47 DCHECK(buf); 46 DCHECK(buf);
48 DCHECK(!callback.is_null()); 47 DCHECK(!callback.is_null());
49 CHECK(read_callback_.is_null()); 48 CHECK(read_callback_.is_null());
50 49
51 if (!channel_) { 50 if (!channel_) {
52 DCHECK(closed_error_code_ != net::OK); 51 DCHECK(closed_error_code_ != net::OK);
53 return closed_error_code_; 52 return closed_error_code_;
54 } 53 }
55 54
56 read_callback_ = callback; 55 read_callback_ = callback;
57 read_buffer_ = buf; 56 read_buffer_ = buf;
58 read_buffer_size_ = buffer_size; 57 read_buffer_size_ = buffer_size;
59 58
60 return net::ERR_IO_PENDING; 59 return net::ERR_IO_PENDING;
61 } 60 }
62 61
63 int TransportChannelSocketAdapter::Write( 62 int TransportChannelSocketAdapter::Send(
64 net::IOBuffer* buffer, 63 const scoped_refptr<net::IOBuffer>& buffer, int buffer_size,
65 int buffer_size,
66 const net::CompletionCallback& callback) { 64 const net::CompletionCallback& callback) {
67 DCHECK(thread_checker_.CalledOnValidThread()); 65 DCHECK(thread_checker_.CalledOnValidThread());
68 DCHECK(buffer); 66 DCHECK(buffer);
69 DCHECK(!callback.is_null()); 67 DCHECK(!callback.is_null());
70 CHECK(write_callback_.is_null()); 68 CHECK(write_callback_.is_null());
71 69
72 if (!channel_) { 70 if (!channel_) {
73 DCHECK(closed_error_code_ != net::OK); 71 DCHECK(closed_error_code_ != net::OK);
74 return closed_error_code_; 72 return closed_error_code_;
75 } 73 }
(...skipping 15 matching lines...) Expand all
91 // Channel is not writable yet. 89 // Channel is not writable yet.
92 result = net::ERR_IO_PENDING; 90 result = net::ERR_IO_PENDING;
93 write_callback_ = callback; 91 write_callback_ = callback;
94 write_buffer_ = buffer; 92 write_buffer_ = buffer;
95 write_buffer_size_ = buffer_size; 93 write_buffer_size_ = buffer_size;
96 } 94 }
97 95
98 return result; 96 return result;
99 } 97 }
100 98
101 int TransportChannelSocketAdapter::SetReceiveBufferSize(int32 size) {
102 DCHECK(thread_checker_.CalledOnValidThread());
103 return (channel_->SetOption(rtc::Socket::OPT_RCVBUF, size) == 0) ?
104 net::OK : net::ERR_SOCKET_SET_RECEIVE_BUFFER_SIZE_ERROR;
105 }
106
107 int TransportChannelSocketAdapter::SetSendBufferSize(int32 size) {
108 DCHECK(thread_checker_.CalledOnValidThread());
109 return (channel_->SetOption(rtc::Socket::OPT_SNDBUF, size) == 0) ?
110 net::OK : net::ERR_SOCKET_SET_SEND_BUFFER_SIZE_ERROR;
111 }
112
113 void TransportChannelSocketAdapter::Close(int error_code) { 99 void TransportChannelSocketAdapter::Close(int error_code) {
114 DCHECK(thread_checker_.CalledOnValidThread()); 100 DCHECK(thread_checker_.CalledOnValidThread());
115 101
116 if (!channel_) // Already closed. 102 if (!channel_) // Already closed.
117 return; 103 return;
118 104
119 DCHECK(error_code != net::OK); 105 DCHECK(error_code != net::OK);
120 closed_error_code_ = error_code; 106 closed_error_code_ = error_code;
121 channel_->SignalReadPacket.disconnect(this); 107 channel_->SignalReadPacket.disconnect(this);
122 channel_->SignalDestroyed.disconnect(this); 108 channel_->SignalDestroyed.disconnect(this);
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 177
192 void TransportChannelSocketAdapter::OnChannelDestroyed( 178 void TransportChannelSocketAdapter::OnChannelDestroyed(
193 cricket::TransportChannel* channel) { 179 cricket::TransportChannel* channel) {
194 DCHECK(thread_checker_.CalledOnValidThread()); 180 DCHECK(thread_checker_.CalledOnValidThread());
195 DCHECK_EQ(channel, channel_); 181 DCHECK_EQ(channel, channel_);
196 Close(net::ERR_CONNECTION_ABORTED); 182 Close(net::ERR_CONNECTION_ABORTED);
197 } 183 }
198 184
199 } // namespace protocol 185 } // namespace protocol
200 } // namespace remoting 186 } // namespace remoting
OLDNEW
« no previous file with comments | « remoting/protocol/channel_socket_adapter.h ('k') | remoting/protocol/channel_socket_adapter_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698