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

Side by Side Diff: net/websockets/websocket_basic_stream.cc

Issue 266243004: Clang format slam. Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "net/websockets/websocket_basic_stream.h" 5 #include "net/websockets/websocket_basic_stream.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 #include <string> 9 #include <string>
10 #include <vector> 10 #include <vector>
(...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after
77 http_read_buffer_(http_read_buffer), 77 http_read_buffer_(http_read_buffer),
78 sub_protocol_(sub_protocol), 78 sub_protocol_(sub_protocol),
79 extensions_(extensions), 79 extensions_(extensions),
80 generate_websocket_masking_key_(&GenerateWebSocketMaskingKey) { 80 generate_websocket_masking_key_(&GenerateWebSocketMaskingKey) {
81 // http_read_buffer_ should not be set if it contains no data. 81 // http_read_buffer_ should not be set if it contains no data.
82 if (http_read_buffer_ && http_read_buffer_->offset() == 0) 82 if (http_read_buffer_ && http_read_buffer_->offset() == 0)
83 http_read_buffer_ = NULL; 83 http_read_buffer_ = NULL;
84 DCHECK(connection_->is_initialized()); 84 DCHECK(connection_->is_initialized());
85 } 85 }
86 86
87 WebSocketBasicStream::~WebSocketBasicStream() { Close(); } 87 WebSocketBasicStream::~WebSocketBasicStream() {
88 Close();
89 }
88 90
89 int WebSocketBasicStream::ReadFrames(ScopedVector<WebSocketFrame>* frames, 91 int WebSocketBasicStream::ReadFrames(ScopedVector<WebSocketFrame>* frames,
90 const CompletionCallback& callback) { 92 const CompletionCallback& callback) {
91 DCHECK(frames->empty()); 93 DCHECK(frames->empty());
92 // If there is data left over after parsing the HTTP headers, attempt to parse 94 // If there is data left over after parsing the HTTP headers, attempt to parse
93 // it as WebSocket frames. 95 // it as WebSocket frames.
94 if (http_read_buffer_) { 96 if (http_read_buffer_) {
95 DCHECK_GE(http_read_buffer_->offset(), 0); 97 DCHECK_GE(http_read_buffer_->offset(), 0);
96 // We cannot simply copy the data into read_buffer_, as it might be too 98 // We cannot simply copy the data into read_buffer_, as it might be too
97 // large. 99 // large.
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
167 remaining_size -= frame_size; 169 remaining_size -= frame_size;
168 } 170 }
169 } 171 }
170 DCHECK_EQ(0, remaining_size) << "Buffer size calculation was wrong; " 172 DCHECK_EQ(0, remaining_size) << "Buffer size calculation was wrong; "
171 << remaining_size << " bytes left over."; 173 << remaining_size << " bytes left over.";
172 scoped_refptr<DrainableIOBuffer> drainable_buffer( 174 scoped_refptr<DrainableIOBuffer> drainable_buffer(
173 new DrainableIOBuffer(combined_buffer, total_size)); 175 new DrainableIOBuffer(combined_buffer, total_size));
174 return WriteEverything(drainable_buffer, callback); 176 return WriteEverything(drainable_buffer, callback);
175 } 177 }
176 178
177 void WebSocketBasicStream::Close() { connection_->socket()->Disconnect(); } 179 void WebSocketBasicStream::Close() {
180 connection_->socket()->Disconnect();
181 }
178 182
179 std::string WebSocketBasicStream::GetSubProtocol() const { 183 std::string WebSocketBasicStream::GetSubProtocol() const {
180 return sub_protocol_; 184 return sub_protocol_;
181 } 185 }
182 186
183 std::string WebSocketBasicStream::GetExtensions() const { return extensions_; } 187 std::string WebSocketBasicStream::GetExtensions() const {
188 return extensions_;
189 }
184 190
185 /*static*/ 191 /*static*/
186 scoped_ptr<WebSocketBasicStream> 192 scoped_ptr<WebSocketBasicStream>
187 WebSocketBasicStream::CreateWebSocketBasicStreamForTesting( 193 WebSocketBasicStream::CreateWebSocketBasicStreamForTesting(
188 scoped_ptr<ClientSocketHandle> connection, 194 scoped_ptr<ClientSocketHandle> connection,
189 const scoped_refptr<GrowableIOBuffer>& http_read_buffer, 195 const scoped_refptr<GrowableIOBuffer>& http_read_buffer,
190 const std::string& sub_protocol, 196 const std::string& sub_protocol,
191 const std::string& extensions, 197 const std::string& extensions,
192 WebSocketMaskingKeyGeneratorFunction key_generator_function) { 198 WebSocketMaskingKeyGeneratorFunction key_generator_function) {
193 scoped_ptr<WebSocketBasicStream> stream(new WebSocketBasicStream( 199 scoped_ptr<WebSocketBasicStream> stream(new WebSocketBasicStream(
(...skipping 221 matching lines...) Expand 10 before | Expand all | Expand 10 after
415 const CompletionCallback& callback, 421 const CompletionCallback& callback,
416 int result) { 422 int result) {
417 result = HandleReadResult(result, frames); 423 result = HandleReadResult(result, frames);
418 if (result == ERR_IO_PENDING) 424 if (result == ERR_IO_PENDING)
419 result = ReadFrames(frames, callback); 425 result = ReadFrames(frames, callback);
420 if (result != ERR_IO_PENDING) 426 if (result != ERR_IO_PENDING)
421 callback.Run(result); 427 callback.Run(result);
422 } 428 }
423 429
424 } // namespace net 430 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698