1 // Copyright (c) 2016 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_NEW_CONNECTION_ID_FRAME_H_ 6 #define QUICHE_QUIC_CORE_FRAMES_QUIC_NEW_CONNECTION_ID_FRAME_H_ 7 8 #include <ostream> 9 10 #include "quiche/quic/core/quic_connection_id.h" 11 #include "quiche/quic/core/quic_constants.h" 12 #include "quiche/quic/core/quic_error_codes.h" 13 #include "quiche/quic/core/quic_types.h" 14 15 namespace quic { 16 17 struct QUICHE_EXPORT QuicNewConnectionIdFrame { 18 QuicNewConnectionIdFrame() = default; 19 QuicNewConnectionIdFrame(QuicControlFrameId control_frame_id, 20 QuicConnectionId connection_id, 21 QuicConnectionIdSequenceNumber sequence_number, 22 StatelessResetToken stateless_reset_token, 23 uint64_t retire_prior_to); 24 25 friend QUICHE_EXPORT std::ostream& operator<<( 26 std::ostream& os, const QuicNewConnectionIdFrame& 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 = kInvalidControlFrameId; 31 QuicConnectionId connection_id = EmptyQuicConnectionId(); 32 QuicConnectionIdSequenceNumber sequence_number = 0; 33 StatelessResetToken stateless_reset_token; 34 uint64_t retire_prior_to = 0; 35 }; 36 37 } // namespace quic 38 39 #endif // QUICHE_QUIC_CORE_FRAMES_QUIC_NEW_CONNECTION_ID_FRAME_H_ 40