1 // Copyright (c) 2018 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #ifndef QUICHE_QUIC_CORE_FRAMES_QUIC_PATH_RESPONSE_FRAME_H_ 6 #define QUICHE_QUIC_CORE_FRAMES_QUIC_PATH_RESPONSE_FRAME_H_ 7 8 #include <memory> 9 #include <ostream> 10 11 #include "net/third_party/quiche/src/quic/core/quic_types.h" 12 13 namespace quic { 14 15 // Size of the entire IETF Quic Path Response frame. 16 const size_t kQuicPathResponseFrameSize = kQuicPathFrameBufferSize; 17 18 struct QUIC_EXPORT_PRIVATE QuicPathResponseFrame { 19 QuicPathResponseFrame(); 20 QuicPathResponseFrame(QuicControlFrameId control_frame_id, 21 const QuicPathFrameBuffer& data_buff); 22 ~QuicPathResponseFrame(); 23 24 friend QUIC_EXPORT_PRIVATE std::ostream& operator<<( 25 std::ostream& os, 26 const QuicPathResponseFrame& frame); 27 28 // A unique identifier of this control frame. 0 when this frame is received, 29 // and non-zero when sent. 30 QuicControlFrameId control_frame_id; 31 32 QuicPathFrameBuffer data_buffer; 33 }; 34 } // namespace quic 35 36 #endif // QUICHE_QUIC_CORE_FRAMES_QUIC_PATH_RESPONSE_FRAME_H_ 37