Skip to content

libzig/libmesh

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

138 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

libmesh

libmesh is a QUIC-native peer reachability layer for Zig.

It provides:

  • identity-bound peer discovery
  • setup signaling between peers
  • authenticated relay fallback

Stack Position

libself  -> who is this peer?
libmesh  -> where is this peer and how do I reach them?
libdice  -> can I establish a direct path?
libfast  -> run QUIC on the chosen path

libmesh depends directly on:

  • libself
  • libfast

libmesh does not directly depend on:

  • libdice
  • libflux
  • liblink

Package Shape

libmesh
  ├── discovery
  ├── signaling
  ├── relay
  ├── routing
  └── integration

Public API

lib/mesh.zig exposes high-level entry points:

  • publishSelf(...)
  • lookupPeer(...)
  • lookupPeerAt(...)
  • expirePeers(...)
  • signalPeer(...)
  • openRelayRoute(...)
  • resolveRoutes(...)
  • connectPeerViaDriver(...)
  • connectPeerViaDriverDefault(...)

Route Boundary

  • libmesh carries peer metadata, signaling, and relay fallback.
  • libdice performs ICE/STUN/TURN direct path establishment externally.
  • libfast runs QUIC over direct or relayed route.

Connection Policy

Default route policy is:

  1. direct endpoint
  2. signaling + external libdice when traversal is needed and available
  3. relay fallback when direct path cannot be used

Build And Test

make build
make test

Examples

See docs/EXAMPLES.md for scenario-driven example entry points.

About

quic peer reachability layer for zig

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages