-
Notifications
You must be signed in to change notification settings - Fork 10
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Use Consumer interface for MoQSession publishing (#12)
Summary: This is a major rewrite of MoQSession using the new Consumers interfaces. It's separated into the writes (this diff) and reads (next diff). Note the relay -- which does writes and reads -- is slightly broken in this diff but fixed in the next, so don't read too much into it. The previous "publish" API required the session to maintain a huge map of every currently open stream across the session and perform lookups into this map in order to do the writes. It also had a number API error cases that could be eliminated by constraining the interface. Now subscribeOK and fetchOK return a Consumer object which the publisher will use to pass track data according to those APIs. No maps are required -- the publisher hangs onto the handle(s) it needs to publish. MoQForwarder also had a major rewrite. It conveniently now implements the TrackConsumer interface as well, so a publisher can trivially publish to one or N subscribers. Differential Revision: D66881597
- Loading branch information
1 parent
93fe21d
commit b2b7d6b
Showing
10 changed files
with
1,628 additions
and
884 deletions.
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.