summaryrefslogtreecommitdiffstats
path: root/net/quic/quic_packet_creator.h
diff options
context:
space:
mode:
authorrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-05 19:43:06 +0000
committerrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-08-05 19:43:06 +0000
commit3e60db87c3efc64a62a24e8dbd973ef8a83f420a (patch)
tree595f10254a4dcc4dcf36bd4ea3465a2b35db8a66 /net/quic/quic_packet_creator.h
parentf0eda8165420562d6769b19f0126d5158dabd817 (diff)
downloadchromium_src-3e60db87c3efc64a62a24e8dbd973ef8a83f420a.zip
chromium_src-3e60db87c3efc64a62a24e8dbd973ef8a83f420a.tar.gz
chromium_src-3e60db87c3efc64a62a24e8dbd973ef8a83f420a.tar.bz2
Land Recent QUIC changes.
Minor style change for initialization of hdr.msg_flags. Merge internal change: 49828095 Enabled MaxNumStreams in quic/tools area. Renamed MaxNumConnections to MaxNumStreams. Initialize set_max_streams_per_connection only in MaxNumStreams, not for all tests. Merge internal change: 49728455 QUIC - Adding a bit more information to a logged DFATAL. Merge internal change: 49724887 Always expecting certificates for secure quic (test) clients. Changing the end_to_end test to be insecure as it doesn't configure certs. Merge internal change: 49723287 QUIC - Adding back a comment change that was deleted in the following CL. https://chromiumcodereview.appspot.com/22020002/diff/1/net/quic/quic_connection.cc Merge internal change: 49713074 Fail to process a header when the fec group offset is larger than the packet sequence number. Merge internal change: 49677837 Added a test to ensure that if the QuicPacketCreator has room for the stream frame it can be added. Merge internal change: 49620569 Adding support to QUIC for QUIC_VERSION_7, enabling lower overhead stream frames. Merge internal change: 49540337 Rearrange code to match spdy_protocol.h SpdyFrameType declaration order: mostly method declarations and definitions and case statements. Merge internal change: 49503521 Refactor QuicReceivedEntropyManager and the other received packet code into Quic ReceivedPacketManager to allow the entropy state and the ack's received info to stay in sync. Merge internal change: 49440136 Made a copy of QuicReceivedEntropyManager*.* code into QuicReceivedPacketManager*.* Doing a better job of detecting unrecoverable compression state. This is really tricky to get right. We don't want to unilaterally close the connection if a stream closes before headers are decompressed. If, for example, a server gets a protocol-layer error while processing a request it could kill of a stream with something like QUIC_MULTIPLE_TERMINATION_OFFSETS without sending the http/spdy response. In this case, the client could continue processing on that connection. We basically want to kill off the connection if we get any packets for a stream we've closed without processing complete headers. Which means tracking state for every stream which closes without processing complete headers which is a very unlikely OOM attack vector. I'm capping it at 20 somewhat arbitrarily, and calling it a day. Merge internal change: 49373258 Removing logspam from quic connection. Merge internal change: 49370853 Altering the server to not process headers until full headers have been read. This fixes a problem where if we parsed partial headers, found an error, and rejected the stream before getting full headers it would be possible to doom the entire connection. Merge internal change: 49239328 R=rch@chromium.org Review URL: https://chromiumcodereview.appspot.com/22122002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@215661 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/quic/quic_packet_creator.h')
-rw-r--r--net/quic/quic_packet_creator.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/quic/quic_packet_creator.h b/net/quic/quic_packet_creator.h
index 6c21a94..a1d74fa 100644
--- a/net/quic/quic_packet_creator.h
+++ b/net/quic/quic_packet_creator.h
@@ -71,12 +71,13 @@ class NET_EXPORT_PRIVATE QuicPacketCreator : public QuicFecBuilderInterface {
// The overhead the framing will add for a packet with one frame.
static size_t StreamFramePacketOverhead(
+ QuicVersion version,
QuicGuidLength guid_length,
bool include_version,
QuicSequenceNumberLength sequence_number_length,
InFecGroup is_in_fec_group);
- bool HasRoomForStreamFrame() const;
+ bool HasRoomForStreamFrame(QuicStreamId id, QuicStreamOffset offset) const;
// Converts a raw payload to a frame which fits into the currently open
// packet if there is one. Returns the number of bytes consumed from data.