blob: 1fa2688f518eedfeefe9d36c9435bbf4bd3d9129 [file] [log] [blame]
wubf975eac2019-08-19 19:41:01 -07001// Copyright (c) 2019 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_QBONE_QBONE_CONSTANTS_H_
6#define QUICHE_QUIC_QBONE_QBONE_CONSTANTS_H_
7
8#include "net/third_party/quiche/src/quic/core/quic_types.h"
9#include "net/third_party/quiche/src/quic/core/quic_versions.h"
10#include "net/third_party/quiche/src/quic/platform/api/quic_ip_address.h"
11#include "net/third_party/quiche/src/quic/qbone/platform/ip_range.h"
12
13namespace quic {
14
15struct QboneConstants {
16 // Qbone's ALPN
17 static constexpr char kQboneAlpn[] = "qbone";
18 // The maximum number of bytes allowed in a qbone packet.
19 static const QuicByteCount kMaxQbonePacketBytes = 2000;
20 // The table id for Qbone's routing table. 'bone' in ascii.
21 static const uint32_t kQboneRouteTableId = 0x626F6E65;
22 // The stream ID of the control channel.
23 static QuicStreamId GetControlStreamId(QuicTransportVersion version);
24 // The link-local address of the Terminator
25 static const QuicIpAddress* TerminatorLocalAddress();
26 // The IPRange containing the TerminatorLocalAddress
27 static const IpRange* TerminatorLocalAddressRange();
28};
29
30} // namespace quic
31
32#endif // QUICHE_QUIC_QBONE_QBONE_CONSTANTS_H_