| // Copyright (c) 2013 The Chromium Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef QUICHE_QUIC_TEST_TOOLS_QUIC_PACKET_CREATOR_PEER_H_ |
| #define QUICHE_QUIC_TEST_TOOLS_QUIC_PACKET_CREATOR_PEER_H_ |
| |
| #include "quiche/quic/core/crypto/quic_random.h" |
| #include "quiche/quic/core/quic_packets.h" |
| |
| namespace quic { |
| class QuicFramer; |
| class QuicPacketCreator; |
| |
| namespace test { |
| |
| class QuicPacketCreatorPeer { |
| public: |
| QuicPacketCreatorPeer() = delete; |
| |
| static bool SendVersionInPacket(QuicPacketCreator* creator); |
| |
| static void SetSendVersionInPacket(QuicPacketCreator* creator, |
| bool send_version_in_packet); |
| static void SetPacketNumberLength( |
| QuicPacketCreator* creator, QuicPacketNumberLength packet_number_length); |
| static QuicPacketNumberLength GetPacketNumberLength( |
| QuicPacketCreator* creator); |
| static quiche::QuicheVariableLengthIntegerLength GetRetryTokenLengthLength( |
| QuicPacketCreator* creator); |
| static quiche::QuicheVariableLengthIntegerLength GetLengthLength( |
| QuicPacketCreator* creator); |
| static void SetPacketNumber(QuicPacketCreator* creator, uint64_t s); |
| static void SetPacketNumber(QuicPacketCreator* creator, QuicPacketNumber num); |
| static void ClearPacketNumber(QuicPacketCreator* creator); |
| static void FillPacketHeader(QuicPacketCreator* creator, |
| QuicPacketHeader* header); |
| static void CreateStreamFrame(QuicPacketCreator* creator, QuicStreamId id, |
| size_t data_length, QuicStreamOffset offset, |
| bool fin, QuicFrame* frame); |
| static bool CreateCryptoFrame(QuicPacketCreator* creator, |
| EncryptionLevel level, size_t write_length, |
| QuicStreamOffset offset, QuicFrame* frame); |
| static SerializedPacket SerializeAllFrames(QuicPacketCreator* creator, |
| const QuicFrames& frames, |
| char* buffer, size_t buffer_len); |
| static std::unique_ptr<SerializedPacket> SerializeConnectivityProbingPacket( |
| QuicPacketCreator* creator); |
| static std::unique_ptr<SerializedPacket> |
| SerializePathChallengeConnectivityProbingPacket( |
| QuicPacketCreator* creator, const QuicPathFrameBuffer& payload); |
| |
| static EncryptionLevel GetEncryptionLevel(QuicPacketCreator* creator); |
| static QuicFramer* framer(QuicPacketCreator* creator); |
| static std::string GetRetryToken(QuicPacketCreator* creator); |
| static QuicFrames& QueuedFrames(QuicPacketCreator* creator); |
| static void SetRandom(QuicPacketCreator* creator, QuicRandom* random); |
| }; |
| |
| } // namespace test |
| |
| } // namespace quic |
| |
| #endif // QUICHE_QUIC_TEST_TOOLS_QUIC_PACKET_CREATOR_PEER_H_ |