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

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

Issue 1320303009: relnote: Allow individual QUIC writers to limit the maximum packet size. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@Final_0909_1
Patch Set: Created 5 years, 3 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 | « net/quic/quic_chromium_client_session.cc ('k') | net/quic/quic_connection.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 (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 // The entity that handles framing writes for a Quic client or server. 5 // The entity that handles framing writes for a Quic client or server.
6 // Each QuicSession will have a connection associated with it. 6 // Each QuicSession will have a connection associated with it.
7 // 7 //
8 // On the server side, the Dispatcher handles the raw reads, and hands off 8 // On the server side, the Dispatcher handles the raw reads, and hands off
9 // packets via ProcessUdpPacket for framing and processing. 9 // packets via ProcessUdpPacket for framing and processing.
10 // 10 //
(...skipping 439 matching lines...) Expand 10 before | Expand all | Expand 10 after
450 debug_visitor_ = debug_visitor; 450 debug_visitor_ = debug_visitor;
451 packet_generator_.set_debug_delegate(debug_visitor); 451 packet_generator_.set_debug_delegate(debug_visitor);
452 sent_packet_manager_.set_debug_delegate(debug_visitor); 452 sent_packet_manager_.set_debug_delegate(debug_visitor);
453 } 453 }
454 const IPEndPoint& self_address() const { return self_address_; } 454 const IPEndPoint& self_address() const { return self_address_; }
455 const IPEndPoint& peer_address() const { return peer_address_; } 455 const IPEndPoint& peer_address() const { return peer_address_; }
456 QuicConnectionId connection_id() const { return connection_id_; } 456 QuicConnectionId connection_id() const { return connection_id_; }
457 const QuicClock* clock() const { return clock_; } 457 const QuicClock* clock() const { return clock_; }
458 QuicRandom* random_generator() const { return random_generator_; } 458 QuicRandom* random_generator() const { return random_generator_; }
459 QuicByteCount max_packet_length() const; 459 QuicByteCount max_packet_length() const;
460 void set_max_packet_length(QuicByteCount length); 460 void SetMaxPacketLength(QuicByteCount length);
461 461
462 size_t mtu_probe_count() const { return mtu_probe_count_; } 462 size_t mtu_probe_count() const { return mtu_probe_count_; }
463 463
464 bool connected() const { return connected_; } 464 bool connected() const { return connected_; }
465 465
466 bool goaway_sent() const { return goaway_sent_; } 466 bool goaway_sent() const { return goaway_sent_; }
467 467
468 bool goaway_received() const { return goaway_received_; } 468 bool goaway_received() const { return goaway_received_; }
469 469
470 // Must only be called on client connections. 470 // Must only be called on client connections.
(...skipping 292 matching lines...) Expand 10 before | Expand all | Expand 10 after
763 void MaybeSetMtuAlarm(); 763 void MaybeSetMtuAlarm();
764 764
765 // On arrival of a new packet, checks to see if the socket addresses have 765 // On arrival of a new packet, checks to see if the socket addresses have
766 // changed since the last packet we saw on this connection. 766 // changed since the last packet we saw on this connection.
767 void CheckForAddressMigration(const IPEndPoint& self_address, 767 void CheckForAddressMigration(const IPEndPoint& self_address,
768 const IPEndPoint& peer_address); 768 const IPEndPoint& peer_address);
769 769
770 HasRetransmittableData IsRetransmittable(const QueuedPacket& packet); 770 HasRetransmittableData IsRetransmittable(const QueuedPacket& packet);
771 bool IsConnectionClose(const QueuedPacket& packet); 771 bool IsConnectionClose(const QueuedPacket& packet);
772 772
773 // Set the size of the packet we are targeting while doing path MTU discovery.
774 void SetMtuDiscoveryTarget(QuicByteCount target);
775
776 // Validates the potential maximum packet size, and reduces it if it exceeds
777 // the largest supported by the protocol or the packet writer.
778 QuicByteCount LimitMaxPacketSize(QuicByteCount suggested_max_packet_size);
779
773 QuicFramer framer_; 780 QuicFramer framer_;
774 QuicConnectionHelperInterface* helper_; // Not owned. 781 QuicConnectionHelperInterface* helper_; // Not owned.
775 QuicPacketWriter* writer_; // Owned or not depending on |owns_writer_|. 782 QuicPacketWriter* writer_; // Owned or not depending on |owns_writer_|.
776 bool owns_writer_; 783 bool owns_writer_;
777 // Encryption level for new packets. Should only be changed via 784 // Encryption level for new packets. Should only be changed via
778 // SetDefaultEncryptionLevel(). 785 // SetDefaultEncryptionLevel().
779 EncryptionLevel encryption_level_; 786 EncryptionLevel encryption_level_;
780 bool has_forward_secure_encrypter_; 787 bool has_forward_secure_encrypter_;
781 // The packet number of the first packet which will be encrypted with the 788 // The packet number of the first packet which will be encrypted with the
782 // foward-secure encrypter, even if the peer has not started sending 789 // foward-secure encrypter, even if the peer has not started sending
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
975 982
976 // Whether a GoAway has been received. 983 // Whether a GoAway has been received.
977 bool goaway_received_; 984 bool goaway_received_;
978 985
979 DISALLOW_COPY_AND_ASSIGN(QuicConnection); 986 DISALLOW_COPY_AND_ASSIGN(QuicConnection);
980 }; 987 };
981 988
982 } // namespace net 989 } // namespace net
983 990
984 #endif // NET_QUIC_QUIC_CONNECTION_H_ 991 #endif // NET_QUIC_QUIC_CONNECTION_H_
OLDNEW
« no previous file with comments | « net/quic/quic_chromium_client_session.cc ('k') | net/quic/quic_connection.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698