From be7029d9aeb8cadefadee0c262a0172c03d5579e Mon Sep 17 00:00:00 2001 From: Martin Duke Date: Fri, 13 Dec 2024 19:35:27 +0000 Subject: [PATCH] Added more issues --- draft-ietf-moq-transport.md | 143 ++++++++++++++++++++++++------------ 1 file changed, 97 insertions(+), 46 deletions(-) diff --git a/draft-ietf-moq-transport.md b/draft-ietf-moq-transport.md index f32b3a42..c39f9ae6 100644 --- a/draft-ietf-moq-transport.md +++ b/draft-ietf-moq-transport.md @@ -643,10 +643,13 @@ protocol error if it detects receiving more than one. ## ANNOUNCE -A publisher MAY send ANNOUNCE messages to any subscriber. It SHOULD send them -if it has received a SUBSCRIBE_ANNOUNCES for that namespace, or a superset of -that namespace. An ANNOUNCE increases the likelihood of a subsequent successful -SUBSCRIBE or FETCH. +A publisher MAY send ANNOUNCE messages to any subscriber. An ANNOUNCE increases +the likelihood of a subsequent successful SUBSCRIBE or FETCH. It SHOULD send +an ANNOUNCE if it has received a SUBSCRIBE_ANNOUNCES for that namespace, or a +superset of that namespace. However, a publisher SHOULD NOT send an ANNOUNCE +advertising a namespace equal to, or a subset of, a namespace for which the +receiver sent an earlier ANNOUNCE (i.e. an ANNOUNCE ought not to be echoed back +to its sender). An UNANNOUNCE message negates the meaning of an ANNOUNCE, although it is not a protocol error for the subscriber to send a SUBSCRIBE or FETCH message anyway. @@ -697,48 +700,6 @@ a SUBSCRIBE. It MUST send exactly one FETCH_OK or FETCH_ERROR in response to a FETCH. The subscriber SHOULD close the session with a protocol error if it detects receiving more than one. -The application SHOULD use a relevant error code in SUBSCRIBE_ERROR or -FETCH_ERROR, as defined below: - -|------|---------------------------| -| Code | Reason | -|-----:|:--------------------------| -| 0x0 | Internal Error | -|------|---------------------------| -| 0x1 | Invalid Range | -|------|---------------------------| -| 0x2 | Retry Track Alias | -|------|---------------------------| -| 0x3 | Track Does Not Exist | -|------|---------------------------| -| 0x4 | Unauthorized | -|------|---------------------------| -| 0x5 | Timeout | -|------|---------------------------| - -The application SHOULD use a relevant status code in -SUBSCRIBE_DONE or a FETCH RESET_STREAM, as defined below: - -|------|---------------------------| -| Code | Reason | -|-----:|:--------------------------| -| 0x0 | Unsubscribed | -|------|---------------------------| -| 0x1 | Internal Error | -|------|---------------------------| -| 0x2 | Unauthorized | -|------|---------------------------| -| 0x3 | Track Ended | -|------|---------------------------| -| 0x4 | Subscription Ended | -|------|---------------------------| -| 0x5 | Going Away | -|------|---------------------------| -| 0x6 | Expired | -|------|---------------------------| -| 0x7 | Too Far Behind | -|------|---------------------------| - # Priorities {#priorities} MoQ priorities allow a subscriber and original publisher to influence @@ -1608,6 +1569,23 @@ message for which this response is provided. * Reason Phrase: Provides the reason for announcement error. +The application SHOULD use a relevant error code in an ANNOUNCE_ERROR, as +defined below. + +|------|---------------------------| +| Code | Reason | +|-----:|:--------------------------| +| 0x0 | Internal Error | +|------|---------------------------| +| 0x1 | Uninterested | +|------|---------------------------| +| 0x2 | Unauthorized | +|------|---------------------------| +| 0x3 | Timeout | +|------|---------------------------| +| 0x4 | Announce Not Supported | +|------|---------------------------| + ## ANNOUNCE_CANCEL {#message-announce-cancel} The subscriber sends an `ANNOUNCE_CANCEL` control message to @@ -1795,6 +1773,23 @@ SUBSCRIBE_ERROR the subscriber MUST close the connection with a Duplicate Track Alias error ({{session-termination}}). +The application SHOULD use a relevant error code in SUBSCRIBE_ERROR, as defined below: + +|------|---------------------------| +| Code | Reason | +|-----:|:--------------------------| +| 0x0 | Internal Error | +|------|---------------------------| +| 0x1 | Invalid Range | +|------|---------------------------| +| 0x2 | Retry Track Alias | +|------|---------------------------| +| 0x3 | Track Does Not Exist | +|------|---------------------------| +| 0x4 | Unauthorized | +|------|---------------------------| +| 0x5 | Timeout | +|------|---------------------------| ## FETCH_OK {#message-fetch-ok} @@ -1860,6 +1855,22 @@ FETCH_ERROR * Reason Phrase: Provides the reason for fetch error. +The application SHOULD use a relevant error code in FETCH_ERROR, as defined below: + +|------|---------------------------| +| Code | Reason | +|-----:|:--------------------------| +| 0x0 | Internal Error | +|------|---------------------------| +| 0x1 | Invalid Range | +|------|---------------------------| +| 0x3 | Track Does Not Exist | +|------|---------------------------| +| 0x4 | Unauthorized | +|------|---------------------------| +| 0x5 | Timeout | +|------|---------------------------| + ## SUBSCRIBE_DONE {#message-subscribe-done} @@ -1922,6 +1933,29 @@ once the same number of streams have been processed. * Reason Phrase: Provides the reason for subscription error. +The application SHOULD use a relevant status code in SUBSCRIBE_DONE, as defined + below: + +|------|---------------------------| +| Code | Reason | +|-----:|:--------------------------| +| 0x0 | Unsubscribed | +|------|---------------------------| +| 0x1 | Internal Error | +|------|---------------------------| +| 0x2 | Unauthorized | +|------|---------------------------| +| 0x3 | Track Ended | +|------|---------------------------| +| 0x4 | Subscription Ended | +|------|---------------------------| +| 0x5 | Going Away | +|------|---------------------------| +| 0x6 | Expired | +|------|---------------------------| +| 0x7 | Too Far Behind | +|------|---------------------------| + ## MAX_SUBSCRIBE_ID {#message-max-subscribe-id} A publisher sends a MAX_SUBSCRIBE_ID message to increase the number of @@ -2113,6 +2147,23 @@ failure. * Reason Phrase: Provides the reason for the namespace subscription error. +The application SHOULD use a relevant error code in a +SUBSCRIBE_NAMESPACES_ERROR, as defined below. + +|------|--------------------------------| +| Code | Reason | +|-----:|:-------------------------------| +| 0x0 | Internal Error | +|------|--------------------------------| +| 0x1 | Message Not Supported | +|------|--------------------------------| +| 0x2 | Will Never Announce Namespace | +|------|--------------------------------| +| 0x3 | Unauthorized | +|------|------------------------------- | +| 0x4 | Timeout | +|------|--------------------------------| + # Data Streams {#data-streams}