Skip to content

Repository files navigation

moqx — Media Over QUIC Relay

ci main Latest release License Last commit Open issues Open PRs MOQT

moqx

The OpenMOQ Relay — a MoQT relay server based on moxygen (upstream: facebookexperimental/moxygen).

Architecture

MoqxRelay is a hard fork of moxygen's MoQRelay, so the relay core can evolve independently while the lower-level moxygen pieces stay libraries:

  • MoQForwarder — fan-out engine
  • MoqxCache — object cache
  • MoQSession / MoQServer / MoQRelaySession — session/server infrastructure.

MoqxRelayServer extends MoQServer to wire MoqxRelay in as the publish/subscribe handler. For moxygen's own architecture, see its ARCHITECTURE.md.

Quick Start

Standard CMake preset build (CMake 3.23+, C++20, Ninja).

scripts/install-system-deps.sh                         # toolchain + system libs
scripts/configure.sh --moxygen prebuilt-with-fallback  # get a moxygen, configure
scripts/build.sh                                       # cmake --build build/default
scripts/test.sh                                        # ctest over build/default

build.sh and test.sh are thin wrappers that add a job count derived from cores and free RAM (/scripts/lib/jobs.sh).

Profiles (default | san | tsan) are each script's first argument and map to build/<profile>. --moxygen picks where moxygen comes from:

Goal Command
Build it scripts/configure.sh --moxygen prebuilt-with-fallback && scripts/build.sh
Download only, never compile moxygen scripts/configure.sh --moxygen prebuilt && scripts/build.sh
Compile moxygen / any rev or platform scripts/configure.sh --moxygen from-source && scripts/build.sh
Local moxygen checkout scripts/configure.sh --moxygen from-source --moxygen-dir /path && scripts/build.sh

The three modes, the raw-cmake equivalents, and how to pick: /BUILD.md.

Pins live in /cmake/dependencies.cmake.

ccache is used automatically when it is on PATH.

Docs

License

Apache 2.0 — see /LICENSE.

About

The OpenMOQ Relay

Resources

Contributing

Security policy

Stars

30 stars

Watchers

6 watching

Forks

Releases

Packages

Used by

Contributors

Languages