Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
98 commits
Select commit Hold shift + click to select a range
ff1a485
chore(quest): claim quest/m1/api-audit/lifecycle.md
kixelated Oct 25, 2026
ad8d92d
chore(quest): claim quest/m1/api-audit/net-names.md
kixelated Oct 25, 2026
34240db
chore(quest): claim quest/m1/api-audit/requests.md
kixelated Oct 25, 2026
369722b
refactor(net)!: stats::Message, stats::Totals, transport::Metrics
kixelated Oct 25, 2026
3e88354
refactor(net)!: fold track::Producer::close into abort, rename end to…
kixelated Oct 25, 2026
dce039a
refactor(net)!: Session::allocator and Client::with_allocator
kixelated Oct 25, 2026
a61533a
refactor(net)!: Reservation::consume and JS Reservation.rate
kixelated Oct 25, 2026
4319058
feat(net)!: name request handlers requests()
kixelated Oct 25, 2026
b353951
feat(net)!: group closed() settles on finish; abort after finish only…
kixelated Oct 25, 2026
94994b2
refactor(net)!: group::Demand says wanted
kixelated Oct 25, 2026
16d74ae
refactor(net)!: auth::Credential in Rust, JS, and the FFI
kixelated Oct 25, 2026
0963860
refactor(net)!: track::Consumer::info returns Pending<Resolving>
kixelated Oct 25, 2026
ba5721c
feat(net)!: track closed() returns the outcome and settles on a reach…
kixelated Oct 25, 2026
5154cc0
refactor(net)!: JS Track.Producer.createGroup(sequence), as in Rust
kixelated Oct 25, 2026
314f20a
feat(net)!: split JS Group.Producer.close into finish and abort
kixelated Oct 25, 2026
8d7a193
refactor(net)!: JS connection allocator, and migration notes
kixelated Oct 25, 2026
88e981b
chore(quest): finish quest/m1/api-audit/net-names.md
kixelated Oct 25, 2026
35fa0b9
style: format the renames
kixelated Oct 25, 2026
d882138
test: drop unused Group imports after createGroup
kixelated Oct 25, 2026
77e3f71
test: drop unused GroupProducer import in interop
kixelated Oct 25, 2026
284515e
chore: drop unused Group import in hang bench
kixelated Oct 25, 2026
ec418e1
feat(net)!: split JS Track.Producer.close into finish, abort, and close
kixelated Oct 25, 2026
66661b7
feat(net)!: JS Lister.closed, unused rejects on close, readers drop e…
kixelated Oct 25, 2026
7349c26
feat(net)!: JS group Consumer.close releases only its handle
kixelated Oct 25, 2026
8553cad
docs(net): migration notes and JS docs for the lifecycle vocabulary
kixelated Oct 25, 2026
59da867
refactor(ffi)!: MoqAllocator and allocator() in the bindings and C ABI
kixelated Oct 25, 2026
1d1e236
fix(net): finish the remaining callers and narrow the quest
kixelated Oct 25, 2026
0cd3e64
Merge remote-tracking branch 'origin/main' into HEAD
kixelated Oct 25, 2026
193eeca
Merge remote-tracking branch 'origin/main' into HEAD
kixelated Oct 25, 2026
f4d691d
refactor(net)!: a reservation's snapshot is rate() everywhere
kixelated Oct 25, 2026
657d2a9
chore(net): regenerate the @moq/net API reports
kixelated Oct 25, 2026
4620b6c
Merge remote-tracking branch 'origin/main' into HEAD
kixelated Oct 25, 2026
46bd7e4
feat(net)!: consumer close releases only its handle for announcements…
kixelated Oct 25, 2026
08854f9
test(e2ee): observe a consumer's release on a session broadcast
kixelated Oct 25, 2026
5052768
Merge origin/main into quest/m1/api-audit/requests
kixelated Oct 25, 2026
cc16ff9
Merge remote-tracking branch 'origin/main' into HEAD
kixelated Oct 25, 2026
b3fb2d2
chore: refresh the @moq/net API report for requests()
kixelated Oct 25, 2026
b91d74b
fix(net): settle a track's outcome after its groups, and end a releas…
kixelated Oct 25, 2026
f897932
fix(net): count a received end's tail before settling, and list an op…
kixelated Oct 25, 2026
9420bff
feat(net)!: announcements say wanted, and the origin closes what it r…
kixelated Oct 25, 2026
f2029fb
Merge remote-tracking branch 'origin/main' into HEAD
kixelated Oct 25, 2026
622e6cb
Merge origin/main into quest/m1/api-audit/requests
kixelated Oct 25, 2026
057e2bb
feat(c)!: name the request handlers *_requests
kixelated Oct 25, 2026
1497ca5
chore(net): regenerate the API report and format
kixelated Oct 25, 2026
2c9e1a1
test(net): abort with the lifecycle verb in a resume test from main
kixelated Oct 25, 2026
a8bbf32
test(js): use requestsRoute in a test main added
kixelated Oct 25, 2026
8d896d6
fix(net): a released shared group consumer reads nothing more
kixelated Oct 25, 2026
29792cf
fix(net): a settled track end is final
kixelated Oct 25, 2026
c70f314
fix(net): a settled end keeps its clean outcome in JS too
kixelated Oct 25, 2026
361cb66
Merge origin/main into quest/m1/api-audit/requests
kixelated Oct 25, 2026
0414bc5
test(net): use requests() in a test main added
kixelated Oct 25, 2026
efce7a0
test(c): use the *_requests handlers in tests main added
kixelated Oct 25, 2026
a53226b
Merge origin/main into quest/m1/api-audit/requests
kixelated Oct 25, 2026
2bd905d
Merge origin/main into quest/m1/api-audit/lifecycle
kixelated Oct 25, 2026
5b03e49
Merge origin/main into quest/m1/api-audit/requests
kixelated Oct 25, 2026
6587b77
Merge remote-tracking branch 'origin/main' into quest/m1/api-audit/ne…
kixelated Oct 25, 2026
3b71e28
fix(net): rename main's new auth::Auth uses to Credential
kixelated Oct 25, 2026
757a133
fix(net): keep the lifecycle docs and helpers clean in the no-async s…
kixelated Oct 25, 2026
b8bf0fb
fix(net): a request whose readers left blocks an overlapping one
kixelated Oct 25, 2026
f7bdfd2
chore(dart): regenerate moq_ffi with the negative-duration patch
kixelated Oct 25, 2026
cafce55
Merge remote-tracking branch 'origin/main' into quest/m1/api-audit/ne…
kixelated Oct 25, 2026
beff2e0
fix(net): a track's closed() sees a group that finishes while it scans
kixelated Oct 25, 2026
b41e668
Merge origin/main into quest/m1/api-audit/lifecycle
kixelated Oct 26, 2026
e2aa1c1
Merge remote-tracking branch 'origin/main' into quest/m1/api-audit/ne…
kixelated Oct 26, 2026
43a6876
style(net): sort the tokens.ts imports
kixelated Oct 26, 2026
abc3b97
test(net): the SUBSCRIPTION_ENDED tail test reads the missing end thr…
kixelated Oct 26, 2026
16ca858
Merge remote-tracking branch 'origin/main' into net-names-6751
kixelated Oct 26, 2026
ac6e0c6
Merge remote-tracking branch 'origin/main' into pr-6750
kixelated Oct 26, 2026
4529377
Merge origin/main into quest/m1/api-audit/requests
kixelated Oct 26, 2026
4f34b02
Merge origin/main into quest/m1/api-audit/requests
kixelated Oct 26, 2026
a4ce8e9
Merge origin/main into quest/m1/api-audit/requests
kixelated Oct 26, 2026
819ba54
Merge origin/main into quest/m1/api-audit/lifecycle
kixelated Oct 26, 2026
4b0bfee
Merge origin/main into quest/m1/api-audit/net-names
kixelated Oct 26, 2026
c68a5d6
Merge origin/main into quest/m1/api-audit/requests
kixelated Oct 26, 2026
5974aad
Merge origin/main into quest/m1/api-audit/lifecycle
kixelated Oct 26, 2026
04afdfb
Merge origin/main into quest/m1/api-audit/net-names
kixelated Oct 26, 2026
fd1cc05
fix(net): a released shared group consumer ignores a later abort
kixelated Oct 26, 2026
b4f093a
fix(net): release a received copy without declaring an end the publis…
kixelated Oct 26, 2026
dc5da75
Merge origin/main into quest/m1/api-audit/net-names
kixelated Oct 26, 2026
6e17369
Merge origin/main into quest/m1/api-audit/requests
kixelated Oct 26, 2026
174695c
Merge remote-tracking branch 'origin/main' into quest/m1/api-audit/li…
kixelated Oct 27, 2026
6788771
Merge origin/main into quest/m1/api-audit/requests
kixelated Oct 27, 2026
25c6fd9
Merge origin/main into quest/m1/api-audit/net-names
kixelated Oct 27, 2026
fc8b671
test(net): read the group without async in abort_after_finish_keeps_t…
kixelated Oct 27, 2026
d250ed4
Merge remote-tracking branch 'origin/main' into quest/m1/api-audit/li…
kixelated Oct 27, 2026
78697ce
Merge remote-tracking branch 'origin/main' into quest/m1/api-audit/li…
kixelated Oct 27, 2026
9a856aa
fix(net): settle a track's outcome once the cache evicts its last ope…
kixelated Oct 27, 2026
6120267
Merge remote-tracking branch 'origin/main' into quest/m1/api-audit/li…
kixelated Oct 27, 2026
3f1a00c
fix(flate): finish the decoder bench's oversized group and track
kixelated Oct 27, 2026
fb45912
fix(net): latch a track's clean outcome once closed() reports it
kixelated Oct 27, 2026
e575bcc
Merge origin/main into quest/m1/api-audit/net-names
kixelated Oct 27, 2026
3d1312d
Merge origin/main into quest/m1/api-audit/net-names
kixelated Oct 27, 2026
d5f247a
Merge #6750 (one lifecycle vocabulary) into quest/m1/api-audit/net-names
kixelated Oct 27, 2026
133c1a5
Merge origin/main into quest/m1/api-audit/net-names
kixelated Oct 27, 2026
3f5aaf3
Merge #6751's head into quest/m1/api-audit/requests
kixelated Oct 27, 2026
03ccc2f
quest: name track::Requests and Resolving in the net-wrap traits quest
kixelated Oct 27, 2026
0069692
Merge origin/main into quest/m1/api-audit/requests
kixelated Oct 27, 2026
425ef89
Merge origin/main into quest/m1/api-audit/requests
kixelated Oct 27, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions dart/moq/MIGRATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,11 @@ How to update your code for each breaking change, newest first.

## Unreleased

### Request handlers are `requests()` ([#6752](https://github.com/moq-dev/moq/pull/6752))

Rename `dynamic_()` on `OriginProducer`, `BroadcastProducer`, `TrackProducer`, and `TrackRequest` to `requests()`.
Their handles `OriginDynamic`, `BroadcastDynamic`, and `TrackDynamic` are `OriginRequests`, `BroadcastRequests`, and `TrackRequests`; their methods are unchanged.

### `Allocator` ([#6751](https://github.com/moq-dev/moq/pull/6751))

`Bandwidth` is `Allocator`, `bandwidth()` is `allocator()`, and `Reservation.grant()` is `rate()`. The producers' `bandwidth` option keeps its name.
Expand Down
6 changes: 3 additions & 3 deletions dart/moq/lib/src/aliases.dart
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ typedef OriginConfig = MoqOriginConfig;
typedef OriginConsumer = MoqOriginConsumer;

/// A served route: advertises a path prefix and yields broadcast requests beneath it.
typedef OriginDynamic = MoqOriginDynamic;
typedef OriginRequests = MoqOriginRequests;

/// A requested broadcast not yet accepted: fulfill it with a producer or reject it.
typedef BroadcastRequest = MoqBroadcastRequest;
Expand Down Expand Up @@ -91,7 +91,7 @@ typedef BroadcastProducer = MoqBroadcastProducer;
typedef BroadcastConsumer = MoqBroadcastConsumer;

/// Receives tracks requested from a dynamically served broadcast.
typedef BroadcastDynamic = MoqBroadcastDynamic;
typedef BroadcastRequests = MoqBroadcastRequests;

/// The write side of a raw track: append groups of frames.
typedef TrackProducer = MoqTrackProducer;
Expand All @@ -100,7 +100,7 @@ typedef TrackProducer = MoqTrackProducer;
typedef TrackRequest = MoqTrackRequest;

/// A stream of the fills readers of one track need: runs of groups the cache lacks.
typedef TrackDynamic = MoqTrackDynamic;
typedef TrackRequests = MoqTrackRequests;

/// A watch-only handle to whether a published track has subscribers; holding it keeps nothing open.
typedef TrackDemand = MoqTrackDemand;
Expand Down
2 changes: 1 addition & 1 deletion dart/moq/lib/src/client.dart
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ final class Moq {

/// Create an unannounced broadcast at [path], invisible to everyone until announced.
///
/// Advertise it with `announce` after populating tracks. Create, `dynamic`
/// Advertise it with `announce` after populating tracks. Create, `requests`
/// if tracks are served on demand, populate, then announce.
BroadcastProducer createBroadcast(String path) =>
session.publish().createBroadcast(path: path);
Expand Down
2 changes: 1 addition & 1 deletion dart/moq/test/moq_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -497,7 +497,7 @@ void main() {

test('dynamic serves a request under a prefix', () async {
final origin = MoqOriginProducer(config: MoqOriginConfig());
final dynamic = origin.dynamic_(prefix: 'live');
final dynamic = origin.requests(prefix: 'live');
final pending = origin.consume().requestBroadcast(path: 'live/cam');
final request = await dynamic.requestedBroadcast().timeout(timeout);
expect(request.path(), 'live/cam');
Expand Down
Loading
Loading