| // 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. |
| |
| #include "net/quic/test_tools/quic_framer_peer.h" |
| |
| #include "base/stl_util.h" |
| #include "net/quic/quic_framer.h" |
| #include "net/quic/quic_protocol.h" |
| |
| namespace net { |
| namespace test { |
| |
| // static |
| QuicPacketNumber QuicFramerPeer::CalculatePacketNumberFromWire( |
| QuicFramer* framer, |
| QuicPacketNumberLength packet_number_length, |
| QuicPacketNumber last_packet_number, |
| QuicPacketNumber packet_number) { |
| return framer->CalculatePacketNumberFromWire( |
| packet_number_length, last_packet_number, packet_number); |
| } |
| |
| // static |
| void QuicFramerPeer::SetLastSerializedConnectionId( |
| QuicFramer* framer, |
| QuicConnectionId connection_id) { |
| framer->last_serialized_connection_id_ = connection_id; |
| } |
| |
| // static |
| void QuicFramerPeer::SetLastPacketNumber(QuicFramer* framer, |
| QuicPacketNumber packet_number) { |
| framer->last_packet_number_ = packet_number; |
| } |
| |
| // static |
| void QuicFramerPeer::SetPerspective(QuicFramer* framer, |
| Perspective perspective) { |
| framer->perspective_ = perspective; |
| } |
| |
| // static |
| void QuicFramerPeer::SwapCrypters(QuicFramer* framer1, QuicFramer* framer2) { |
| for (int i = ENCRYPTION_NONE; i < NUM_ENCRYPTION_LEVELS; i++) { |
| framer1->encrypter_[i].swap(framer2->encrypter_[i]); |
| } |
| framer1->decrypter_.swap(framer2->decrypter_); |
| framer1->alternative_decrypter_.swap(framer2->alternative_decrypter_); |
| |
| EncryptionLevel framer2_level = framer2->decrypter_level_; |
| framer2->decrypter_level_ = framer1->decrypter_level_; |
| framer1->decrypter_level_ = framer2_level; |
| framer2_level = framer2->alternative_decrypter_level_; |
| framer2->alternative_decrypter_level_ = framer1->alternative_decrypter_level_; |
| framer1->alternative_decrypter_level_ = framer2_level; |
| |
| const bool framer2_latch = framer2->alternative_decrypter_latch_; |
| framer2->alternative_decrypter_latch_ = framer1->alternative_decrypter_latch_; |
| framer1->alternative_decrypter_latch_ = framer2_latch; |
| } |
| |
| // static |
| QuicEncrypter* QuicFramerPeer::GetEncrypter(QuicFramer* framer, |
| EncryptionLevel level) { |
| return framer->encrypter_[level].get(); |
| } |
| |
| // static |
| QuicPacketNumber QuicFramerPeer::GetLastPacketNumber(QuicFramer* framer) { |
| return framer->last_packet_number_; |
| } |
| |
| // static |
| QuicPathId QuicFramerPeer::GetLastPathId(QuicFramer* framer) { |
| return framer->last_path_id_; |
| } |
| |
| // static |
| bool QuicFramerPeer::IsPathClosed(QuicFramer* framer, QuicPathId path_id) { |
| return ContainsKey(framer->closed_paths_, path_id); |
| } |
| |
| } // namespace test |
| } // namespace net |