summaryrefslogtreecommitdiffstats
path: root/net/quic/quic_data_writer.h
diff options
context:
space:
mode:
authorrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-28 08:39:25 +0000
committerrtenneti@chromium.org <rtenneti@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-10-28 08:39:25 +0000
commitb007e638225570ce6998328782dfa44c6fd94b10 (patch)
tree972148818e714f8d66ac3210a931a5f1efac2fd4 /net/quic/quic_data_writer.h
parent3bcd34cdcc9a842e840777b8e643ded999467741 (diff)
downloadchromium_src-b007e638225570ce6998328782dfa44c6fd94b10.zip
chromium_src-b007e638225570ce6998328782dfa44c6fd94b10.tar.gz
chromium_src-b007e638225570ce6998328782dfa44c6fd94b10.tar.bz2
Land Recent QUIC changes.
Fix a bug in the quic_client where disconnecting and re-connecting would re-use the same packet writer, and attempt to write to the same (now closed) socket. Merge internal change: 55509535 If the most significant byte of a QuicTag is 255 ('\xff'), print that byte as a space rather than printing the QuicTag as a decimal number. Add a unit test for QuicUtils::TagToString. as "CRT " instead of its decimal value "4283716163". Merge internal change: 55493160 Miscellaneous cleanup of the supported_versions CL. Remove QuicVersionArrayToString. Replace the only QuicVersionArrayToString call by QuicVersionVectorToString. Add a protected supported_versions() getter method to QuicDispatcher to allow access to supported_versions_ by derived classes of QuicDispatcher. Document the purpose of each combination of supported versions in gfe/quic/end_to_end_test.cc. "gfe2/quic_versions" and its value no longer has an extraneous comma at the end. For example, "QUIC_VERSION_11,QUIC_VERSION_10" as opposed to "QUIC_VERSION_11,QUIC_VERSION_10," Merge internal change: 55490062 Implement encoding and decoding of unsigned half precision floats in QUIC. Merge internal change: 55454508 Annotate QUIC streams as server/client in DLOG output. Merge internal change: 55419499 Expose methods for getting/setting the QUIC congestion manager's congestion window value. Merge internal change: 55416317 Return the unused server port once EndToEndTest has finished, to reduce the chance PickUnusedPortOrDie will fail in the future. Merge internal change: 55376533 This change hasn't been enabled in chromium. Fix quic prober to use new QuicClient constructor which takes QuicSupportedVersions as argument. Merge internal change: 55353942 Change all QuicConfig constructors to DefaultQuicConfig. Merge internal change: 55307326 Fixing TSAN warnings in the PacketDroppingTestWriter by adding a lock. Merge internal change: 55234723 Fixing potential bugs with write blocking in QuicConnection. Merge internal change: 55230366 Added back QuicVersionMax to fix borg TAP failures. This is a temporary fix until until CL 55170273 lands. Merge internal change: 55173927 Test server/client various combinations of supported versions. - Fix to handle if chrome were to send VERSION 11 and GFE supports version 10 and vice versa (fixes to setting of NULL decrypter). Fixed unit tests to handle different packet sizes between 11 and 10 because of changes to Null encrypter/decrypter. - Send version negotiation packet packet again (from server) if that packet is dropped. - Changed end_to_end_test.cc to configure the client to support multiple versions and configure the server to support only one version and vice versa. - Moved QuicVersionMax and QuicVersonMin to quic_test_utils.cc. Most of the bug fixes are from rch. re-transmitting that packet again. Fixed bugs with server supporting VERSION 10 and chrome negotiating down from 11 to 10. Added tests for version negotiation and testing of various combinations of server and client version negotiation. Merge internal change: 55168938 Don't cast a uint32 to int32 then to a uint64. Seen in test logs: I1018 11:55:44.626228 1775 packet_dropping_test_writer.cc:50] Seeding packet loss with -508765393 I1018 11:55:44.626275 1775 packet_dropping_test_writer.cc:50] Seeding packet loss with 631710332 Merge internal change: 55135280 R=rch@chromium.org Review URL: https://codereview.chromium.org/47283002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@231296 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/quic/quic_data_writer.h')
-rw-r--r--net/quic/quic_data_writer.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/net/quic/quic_data_writer.h b/net/quic/quic_data_writer.h
index b18121d..857bcc8 100644
--- a/net/quic/quic_data_writer.h
+++ b/net/quic/quic_data_writer.h
@@ -43,6 +43,10 @@ class NET_EXPORT_PRIVATE QuicDataWriter {
bool WriteUInt32(uint32 value);
bool WriteUInt48(uint64 value);
bool WriteUInt64(uint64 value);
+ // Write unsigned floating point corresponding to the value. Large values are
+ // clamped to the maximum representable (kUFloat16MaxValue). Values that can
+ // not be represented directly are rounded down.
+ bool WriteUFloat16(uint64 value);
bool WriteStringPiece16(base::StringPiece val);
bool WriteBytes(const void* data, size_t data_len);
bool WriteRepeatedByte(uint8 byte, size_t count);