chromium/net/third_party/quiche/src/quiche/quic/core/crypto/crypto_framer.cc

// Copyright (c) 2012 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 "quiche/quic/core/crypto/crypto_framer.h"

#include <memory>
#include <string>
#include <utility>

#include "absl/base/attributes.h"
#include "absl/strings/str_cat.h"
#include "absl/strings/string_view.h"
#include "quiche/quic/core/crypto/crypto_protocol.h"
#include "quiche/quic/core/quic_data_reader.h"
#include "quiche/quic/core/quic_data_writer.h"
#include "quiche/quic/core/quic_packets.h"
#include "quiche/quic/platform/api/quic_logging.h"
#include "quiche/common/quiche_endian.h"

namespace quic {

namespace {

const size_t kQuicTagSize =;
const size_t kCryptoEndOffsetSize =;
const size_t kNumEntriesSize =;

// OneShotVisitor is a framer visitor that records a single handshake message.
class OneShotVisitor : public CryptoFramerVisitorInterface {};

}  // namespace

CryptoFramer::CryptoFramer()
    :{}

CryptoFramer::~CryptoFramer() {}

// static
std::unique_ptr<CryptoHandshakeMessage> CryptoFramer::ParseMessage(
    absl::string_view in) {}

QuicErrorCode CryptoFramer::error() const {}

const std::string& CryptoFramer::error_detail() const {}

bool CryptoFramer::ProcessInput(absl::string_view input,
                                EncryptionLevel /*level*/) {}

bool CryptoFramer::ProcessInput(absl::string_view input) {}

size_t CryptoFramer::InputBytesRemaining() const {}

bool CryptoFramer::HasTag(QuicTag tag) const {}

void CryptoFramer::ForceHandshake() {}

// static
std::unique_ptr<QuicData> CryptoFramer::ConstructHandshakeMessage(
    const CryptoHandshakeMessage& message) {}

void CryptoFramer::Clear() {}

QuicErrorCode CryptoFramer::Process(absl::string_view input) {}

// static
bool CryptoFramer::WritePadTag(QuicDataWriter* writer, size_t pad_length,
                               uint32_t* end_offset) {}

}  // namespace quic