chromium/net/third_party/quiche/src/quiche/quic/core/quic_connection_id.cc

// Copyright 2018 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/quic_connection_id.h"

#include <cstddef>
#include <cstdint>
#include <cstring>
#include <iomanip>
#include <ostream>
#include <string>

#include "absl/strings/escaping.h"
#include "openssl/siphash.h"
#include "quiche/quic/core/crypto/quic_random.h"
#include "quiche/quic/core/quic_types.h"
#include "quiche/quic/platform/api/quic_bug_tracker.h"
#include "quiche/quic/platform/api/quic_flag_utils.h"
#include "quiche/quic/platform/api/quic_flags.h"
#include "quiche/quic/platform/api/quic_logging.h"
#include "quiche/common/quiche_endian.h"

namespace quic {

namespace {

// QuicConnectionIdHasher can be used to generate a stable connection ID hash
// function that will return the same value for two equal connection IDs for
// the duration of process lifetime. It is meant to be used as input to data
// structures that do not outlast process lifetime. A new key is generated once
// per process to prevent attackers from crafting connection IDs in such a way
// that they always land in the same hash bucket.
class QuicConnectionIdHasher {};

}  // namespace

QuicConnectionId::QuicConnectionId() :{}

QuicConnectionId::QuicConnectionId(const char* data, uint8_t length) {}

QuicConnectionId::QuicConnectionId(const absl::Span<const uint8_t> data)
    :{}

QuicConnectionId::~QuicConnectionId() {}

QuicConnectionId::QuicConnectionId(const QuicConnectionId& other)
    :{}

QuicConnectionId& QuicConnectionId::operator=(const QuicConnectionId& other) {}

const char* QuicConnectionId::data() const {}

char* QuicConnectionId::mutable_data() {}

uint8_t QuicConnectionId::length() const {}

void QuicConnectionId::set_length(uint8_t length) {}

bool QuicConnectionId::IsEmpty() const {}

size_t QuicConnectionId::Hash() const {}

std::string QuicConnectionId::ToString() const {}

std::ostream& operator<<(std::ostream& os, const QuicConnectionId& v) {}

bool QuicConnectionId::operator==(const QuicConnectionId& v) const {}

bool QuicConnectionId::operator!=(const QuicConnectionId& v) const {}

bool QuicConnectionId::operator<(const QuicConnectionId& v) const {}

QuicConnectionId EmptyQuicConnectionId() {}

static_assert;
static_assert;

}  // namespace quic