LibQuicR
Loading...
Searching...
No Matches
quicr Namespace Reference

Namespaces

namespace  detail

Classes

class  Cache
class  Client
 MoQ Client. More...
struct  ClientConfig
struct  ClientSetupAttributes
 Client Setup Attributes. More...
struct  Config
struct  ConnectionMetrics
class  FetchTrackHandler
struct  FullTrackName
 Full track name struct. More...
struct  ObjectHeaders
 Object headers struct. More...
struct  PublishAnnounceAttributes
 Publish announce attributes. More...
class  PublishFetchHandler
class  PublishTrackHandler
 MOQ track handler for published track. More...
struct  PublishTrackMetrics
class  Server
 MoQ Server. More...
struct  ServerConfig
struct  ServerSetupAttributes
 Server Setup Attributes. More...
class  SubscribeTrackHandler
 MOQ track handler for subscribed track. More...
struct  SubscribeTrackMetrics
struct  TrackHash
class  TrackNamespace
 An N-tuple representation of a MOQ namespace. More...
class  Transport
 MOQ Implementation supporting both client and server modes. More...
class  UintVar

Typedefs

using Byte = uint8_t
using Bytes = std::vector<Byte>
using BytesSpan = std::span<const Byte>
using ConnectionHandle = uint64_t
using MetricsTimeStampUs = uint64_t
 Metrics timestamp in microseconds from epoch 1970.
using Extensions = std::map<uint64_t, std::vector<uint8_t>>
using TrackNamespaceHash = uint64_t
using TrackNameHash = uint64_t
using TrackFullNameHash = uint64_t

Enumerations

enum class  PublishAnnounceStatus : uint8_t {
  kOK = 0 , kNotConnected , kNotAnnounced , kPendingAnnounceResponse ,
  kAnnounceNotAuthorized , kSendingUnannounce
}
 Publish Announce Status. More...
enum struct  ObjectStatus : uint8_t {
  kAvailable = 0x0 , kDoesNotExist = 0x1 , kEndOfGroup = 0x3 , kEndOfTrack = 0x4 ,
  kEndOfSubGroup = 0x5
}
 Status of object as reported by the publisher. More...

Functions

constexpr std::uint64_t hash (std::span< const std::uint8_t > bytes)
 Hash a span of bytes to a 64bit number.
constexpr void hash_combine (std::uint64_t &seed, const std::uint64_t &value)
 Combine (aka add) hash to existing hash.

Variables

constexpr uint64_t kMoqtVersion = 0xff00000E
 draft-ietf-moq-transport-14
constexpr uint64_t kSubscribeExpires = 0
 Never expires.
constexpr int kReadLoopMaxPerStream = 60
 Support packet/frame bursts, but do not allow starving other streams.

Typedef Documentation

◆ Byte

using quicr::Byte = uint8_t

◆ Bytes

using quicr::Bytes = std::vector<Byte>
Examples
client.cpp, and server.cpp.

◆ BytesSpan

using quicr::BytesSpan = std::span<const Byte>
Examples
client.cpp, and server.cpp.

◆ ConnectionHandle

using quicr::ConnectionHandle = uint64_t
Examples
client.cpp, and server.cpp.

◆ Extensions

using quicr::Extensions = std::map<uint64_t, std::vector<uint8_t>>

◆ MetricsTimeStampUs

using quicr::MetricsTimeStampUs = uint64_t

Metrics timestamp in microseconds from epoch 1970.

◆ TrackFullNameHash

using quicr::TrackFullNameHash = uint64_t

◆ TrackNameHash

using quicr::TrackNameHash = uint64_t

◆ TrackNamespaceHash

using quicr::TrackNamespaceHash = uint64_t

Enumeration Type Documentation

◆ ObjectStatus

enum struct quicr::ObjectStatus : uint8_t
strong

Status of object as reported by the publisher.

Enumerator
kAvailable 
kDoesNotExist 
kEndOfGroup 
kEndOfTrack 
kEndOfSubGroup 

◆ PublishAnnounceStatus

enum class quicr::PublishAnnounceStatus : uint8_t
strong

Publish Announce Status.

Enumerator
kOK 
kNotConnected 
kNotAnnounced 
kPendingAnnounceResponse 
kAnnounceNotAuthorized 
kSendingUnannounce 

In this state, callbacks will not be called.

Function Documentation

◆ hash()

std::uint64_t quicr::hash ( std::span< const std::uint8_t > bytes)
constexpr

Hash a span of bytes to a 64bit number.

Parameters
bytesThe bytes to hash.
Returns
The 64bit hash of the given given bytes.

◆ hash_combine()

void quicr::hash_combine ( std::uint64_t & seed,
const std::uint64_t & value )
constexpr

Combine (aka add) hash to existing hash.

Adds/combines new hash to existing hash. Existing hash will be updated.

Parameters
[in,out]seedExisting hash to update
[in]valueNew hash to add to the existing (combine)

Variable Documentation

◆ kMoqtVersion

uint64_t quicr::kMoqtVersion = 0xff00000E
constexpr

draft-ietf-moq-transport-14

◆ kReadLoopMaxPerStream

int quicr::kReadLoopMaxPerStream = 60
constexpr

Support packet/frame bursts, but do not allow starving other streams.

◆ kSubscribeExpires

uint64_t quicr::kSubscribeExpires = 0
constexpr

Never expires.