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

Side by Side Diff: net/quic/quic_connection.cc

Issue 181413005: Add SendWindowUpdate and SendBlocked methods to QuicConnection. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 10 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
« no previous file with comments | « net/quic/quic_connection.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/quic/quic_connection.h" 5 #include "net/quic/quic_connection.h"
6 6
7 #include <string.h> 7 #include <string.h>
8 #include <sys/types.h> 8 #include <sys/types.h>
9 #include <algorithm> 9 #include <algorithm>
10 #include <iterator> 10 #include <iterator>
(...skipping 951 matching lines...) Expand 10 before | Expand all | Expand 10 after
962 962
963 void QuicConnection::SendRstStream(QuicStreamId id, 963 void QuicConnection::SendRstStream(QuicStreamId id,
964 QuicRstStreamErrorCode error, 964 QuicRstStreamErrorCode error,
965 QuicStreamOffset bytes_written) { 965 QuicStreamOffset bytes_written) {
966 // Opportunistically bundle an ack with this outgoing packet. 966 // Opportunistically bundle an ack with this outgoing packet.
967 ScopedPacketBundler ack_bundler(this, BUNDLE_PENDING_ACK); 967 ScopedPacketBundler ack_bundler(this, BUNDLE_PENDING_ACK);
968 packet_generator_.AddControlFrame( 968 packet_generator_.AddControlFrame(
969 QuicFrame(new QuicRstStreamFrame(id, error, bytes_written))); 969 QuicFrame(new QuicRstStreamFrame(id, error, bytes_written)));
970 } 970 }
971 971
972 void QuicConnection::SendWindowUpdate(QuicStreamId id,
973 QuicStreamOffset byte_offset) {
974 // Opportunistically bundle an ack with this outgoing packet.
975 ScopedPacketBundler ack_bundler(this, BUNDLE_PENDING_ACK);
976 packet_generator_.AddControlFrame(
977 QuicFrame(new QuicWindowUpdateFrame(id, byte_offset)));
978 }
979
980 void QuicConnection::SendBlocked(QuicStreamId id) {
981 // Opportunistically bundle an ack with this outgoing packet.
982 ScopedPacketBundler ack_bundler(this, BUNDLE_PENDING_ACK);
983 packet_generator_.AddControlFrame(QuicFrame(new QuicBlockedFrame(id)));
984 }
985
972 const QuicConnectionStats& QuicConnection::GetStats() { 986 const QuicConnectionStats& QuicConnection::GetStats() {
973 // Update rtt and estimated bandwidth. 987 // Update rtt and estimated bandwidth.
974 stats_.rtt = sent_packet_manager_.SmoothedRtt().ToMicroseconds(); 988 stats_.rtt = sent_packet_manager_.SmoothedRtt().ToMicroseconds();
975 stats_.estimated_bandwidth = 989 stats_.estimated_bandwidth =
976 sent_packet_manager_.BandwidthEstimate().ToBytesPerSecond(); 990 sent_packet_manager_.BandwidthEstimate().ToBytesPerSecond();
977 return stats_; 991 return stats_;
978 } 992 }
979 993
980 void QuicConnection::ProcessUdpPacket(const IPEndPoint& self_address, 994 void QuicConnection::ProcessUdpPacket(const IPEndPoint& self_address,
981 const IPEndPoint& peer_address, 995 const IPEndPoint& peer_address,
(...skipping 800 matching lines...) Expand 10 before | Expand all | Expand 10 after
1782 // If we changed the generator's batch state, restore original batch state. 1796 // If we changed the generator's batch state, restore original batch state.
1783 if (!already_in_batch_mode_) { 1797 if (!already_in_batch_mode_) {
1784 DVLOG(1) << "Leaving Batch Mode."; 1798 DVLOG(1) << "Leaving Batch Mode.";
1785 connection_->packet_generator_.FinishBatchOperations(); 1799 connection_->packet_generator_.FinishBatchOperations();
1786 } 1800 }
1787 DCHECK_EQ(already_in_batch_mode_, 1801 DCHECK_EQ(already_in_batch_mode_,
1788 connection_->packet_generator_.InBatchMode()); 1802 connection_->packet_generator_.InBatchMode());
1789 } 1803 }
1790 1804
1791 } // namespace net 1805 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/quic_connection.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698