Add a forwarding route for roomId targeting the node nodeId. May be async so real pipe setup can be awaited and surface failures.
Snapshot of the cascade links currently tracked for a room (from>to keys).
Return the node ids currently routed for roomId.
Establish a media pipe carrying roomId from fromNodeId to toNodeId. May be async so the pipe setup can be awaited and surface failures.
Remove only the cascade route from roomId to nodeId.
Remove all forwarding routes for roomId.
Tear down the media pipe carrying roomId from fromNodeId to toNodeId.
Reference implementation of SfuMediaInterface and CascadePipeInterface. It owns the correct in-memory bookkeeping of a room's routes and cascade links (so
getRoutesand idempotent add/remove work out of the box) and delegates the actual media forwarding to an injected SfuMediaDriver. This is the missing keystone betweenrtcforge-sfu(control plane) and a real media plane, without coupling the two packages.Example