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

Side by Side Diff: net/tools/quic/quic_dispatcher_test.cc

Issue 340433002: Port QuicServer to Chrome network stack (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Address review comments and fix blocked writers using callbacks Created 6 years, 6 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 (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/tools/quic/quic_dispatcher.h" 5 #include "net/tools/quic/quic_dispatcher.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/strings/string_piece.h" 9 #include "base/strings/string_piece.h"
10 #include "net/quic/crypto/crypto_handshake.h" 10 #include "net/quic/crypto/crypto_handshake.h"
(...skipping 296 matching lines...) Expand 10 before | Expand all | Expand 10 after
307 public: 307 public:
308 BlockingWriter() : write_blocked_(false) {} 308 BlockingWriter() : write_blocked_(false) {}
309 309
310 virtual bool IsWriteBlocked() const OVERRIDE { return write_blocked_; } 310 virtual bool IsWriteBlocked() const OVERRIDE { return write_blocked_; }
311 virtual void SetWritable() OVERRIDE { write_blocked_ = false; } 311 virtual void SetWritable() OVERRIDE { write_blocked_ = false; }
312 312
313 virtual WriteResult WritePacket( 313 virtual WriteResult WritePacket(
314 const char* buffer, 314 const char* buffer,
315 size_t buf_len, 315 size_t buf_len,
316 const IPAddressNumber& self_client_address, 316 const IPAddressNumber& self_client_address,
317 const IPEndPoint& peer_client_address) OVERRIDE { 317 const IPEndPoint& peer_client_address,
318 base::Callback<void(WriteResult wr)> callback) OVERRIDE {
318 if (write_blocked_) { 319 if (write_blocked_) {
319 return WriteResult(WRITE_STATUS_BLOCKED, EAGAIN); 320 return WriteResult(WRITE_STATUS_BLOCKED, EAGAIN);
320 } else { 321 } else {
321 return QuicPacketWriterWrapper::WritePacket( 322 return QuicPacketWriterWrapper::WritePacket(
322 buffer, buf_len, self_client_address, peer_client_address); 323 buffer, buf_len, self_client_address, peer_client_address, callback);
323 } 324 }
324 } 325 }
325 326
326 bool write_blocked_; 327 bool write_blocked_;
327 }; 328 };
328 329
329 class QuicDispatcherWriteBlockedListTest : public QuicDispatcherTest { 330 class QuicDispatcherWriteBlockedListTest : public QuicDispatcherTest {
330 public: 331 public:
331 virtual void SetUp() { 332 virtual void SetUp() {
332 writer_ = new BlockingWriter; 333 writer_ = new BlockingWriter;
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
494 // And we'll resume where we left off when we get another call. 495 // And we'll resume where we left off when we get another call.
495 EXPECT_CALL(*connection2(), OnCanWrite()); 496 EXPECT_CALL(*connection2(), OnCanWrite());
496 dispatcher_.OnCanWrite(); 497 dispatcher_.OnCanWrite();
497 EXPECT_FALSE(dispatcher_.HasPendingWrites()); 498 EXPECT_FALSE(dispatcher_.HasPendingWrites());
498 } 499 }
499 500
500 } // namespace 501 } // namespace
501 } // namespace test 502 } // namespace test
502 } // namespace tools 503 } // namespace tools
503 } // namespace net 504 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698