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

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

Issue 2516033003: Landing Recent QUIC changes until Mon Nov 14 04:43:50 2016 +0000 (Closed)
Patch Set: Remove unused UpdatePacketGapSentHistogram() function. Created 4 years, 1 month 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 // clang-format off 5 // clang-format off
6 6
7 // Dumps out the decryptable contents of a QUIC packet in a human-readable way. 7 // Dumps out the decryptable contents of a QUIC packet in a human-readable way.
8 // If the packet is null encrypted, this will dump full packet contents. 8 // If the packet is null encrypted, this will dump full packet contents.
9 // Otherwise it will dump the public header, and fail with an error that the 9 // Otherwise it will dump the public header, and fail with an error that the
10 // packet is undecryptable. 10 // packet is undecryptable.
11 // 11 //
12 // Usage: quic_packet_printer server|client <hex dump of packet> 12 // Usage: quic_packet_printer server|client <hex dump of packet>
13 // 13 //
14 // Example input: 14 // Example input:
15 // quic_packet_printer server 0c6b810308320f24c004a939a38a2e3fd6ca589917f200400 15 // quic_packet_printer server 0c6b810308320f24c004a939a38a2e3fd6ca589917f200400
16 // 201b80b0100501c0700060003023d0000001c00556e656e637279707465642073747265616d2 16 // 201b80b0100501c0700060003023d0000001c00556e656e637279707465642073747265616d2
17 // 064617461207365656e 17 // 064617461207365656e
18 // 18 //
19 // Example output: 19 // Example output:
20 // OnPacket 20 // OnPacket
21 // OnUnauthenticatedPublicHeader 21 // OnUnauthenticatedPublicHeader
22 // OnUnauthenticatedHeader: { connection_id: 13845207862000976235, 22 // OnUnauthenticatedHeader: { connection_id: 13845207862000976235,
23 // connection_id_length:8, packet_number_length:1, multipath_flag: 0, 23 // connection_id_length:8, packet_number_length:1, multipath_flag: 0,
24 // reset_flag: 0, version_flag: 0, entropy_flag: 0, entropy hash: 0, path_id: , 24 // reset_flag: 0, version_flag: 0, path_id: , packet_number: 4}
25 // packet_number: 4}
26 // OnDecryptedPacket 25 // OnDecryptedPacket
27 // OnPacketHeader 26 // OnPacketHeader
28 // OnAckFrame: entropy_hash: 2 largest_observed: 1 ack_delay_time: 3000 27 // OnAckFrame: largest_observed: 1 ack_delay_time: 3000
29 // missing_packets: [ ] is_truncated: 0 received_packets: [ 1 at 466016 ] 28 // missing_packets: [ ] is_truncated: 0 received_packets: [ 1 at 466016 ]
30 // OnStopWaitingFrame 29 // OnStopWaitingFrame
31 // OnConnectionCloseFrame: error_code { 61 } error_details { Unencrypted stream 30 // OnConnectionCloseFrame: error_code { 61 } error_details { Unencrypted stream
32 // data seen } 31 // data seen }
33 32
34 // clang-format on 33 // clang-format on
35 34
36 #include <iostream> 35 #include <iostream>
37 #include <string> 36 #include <string>
38 37
(...skipping 20 matching lines...) Expand all
59 } 58 }
60 } 59 }
61 60
62 namespace net { 61 namespace net {
63 62
64 class QuicPacketPrinter : public QuicFramerVisitorInterface { 63 class QuicPacketPrinter : public QuicFramerVisitorInterface {
65 public: 64 public:
66 explicit QuicPacketPrinter(QuicFramer* framer) : framer_(framer) {} 65 explicit QuicPacketPrinter(QuicFramer* framer) : framer_(framer) {}
67 66
68 void OnError(QuicFramer* framer) override { 67 void OnError(QuicFramer* framer) override {
69 cerr << "OnError: " << QuicUtils::ErrorToString(framer->error()) 68 cerr << "OnError: " << QuicErrorCodeToString(framer->error())
70 << " detail: " << framer->detailed_error() << "\n"; 69 << " detail: " << framer->detailed_error() << "\n";
71 } 70 }
72 bool OnProtocolVersionMismatch(QuicVersion received_version) override { 71 bool OnProtocolVersionMismatch(QuicVersion received_version) override {
73 framer_->set_version(received_version); 72 framer_->set_version(received_version);
74 cerr << "OnProtocolVersionMismatch: " 73 cerr << "OnProtocolVersionMismatch: "
75 << QuicVersionToString(received_version) << "\n"; 74 << QuicVersionToString(received_version) << "\n";
76 return true; 75 return true;
77 } 76 }
78 void OnPacket() override { cerr << "OnPacket\n"; } 77 void OnPacket() override { cerr << "OnPacket\n"; }
79 void OnPublicResetPacket(const QuicPublicResetPacket& packet) override { 78 void OnPublicResetPacket(const QuicPublicResetPacket& packet) override {
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
192 if (net::QuicVersionToString(version) == FLAGS_quic_version) { 191 if (net::QuicVersionToString(version) == FLAGS_quic_version) {
193 framer.set_version(version); 192 framer.set_version(version);
194 } 193 }
195 } 194 }
196 } 195 }
197 net::QuicPacketPrinter visitor(&framer); 196 net::QuicPacketPrinter visitor(&framer);
198 framer.set_visitor(&visitor); 197 framer.set_visitor(&visitor);
199 net::QuicEncryptedPacket encrypted(hex.c_str(), hex.length()); 198 net::QuicEncryptedPacket encrypted(hex.c_str(), hex.length());
200 return framer.ProcessPacket(encrypted); 199 return framer.ProcessPacket(encrypted);
201 } 200 }
OLDNEW
« no previous file with comments | « net/tools/quic/quic_in_memory_cache_test.cc ('k') | net/tools/quic/quic_per_connection_packet_writer.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698