Skip to content

Commit 3b9cd05

Browse files
authored
Clarify what ROLE means (#395)
Add some normative text and requires both client and server to send their role. I can also see the argument for removing this entirely, but it's in the current draft, so if we're going to keep it, I'd like to define it better. Fixes #151, Fixes #250
2 parents a02b1a5 + 4ebb906 commit 3b9cd05

File tree

1 file changed

+17
-15
lines changed

1 file changed

+17
-15
lines changed

draft-ietf-moq-transport.md

Lines changed: 17 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -881,28 +881,30 @@ identified as 0xff00000D.
881881

882882
#### ROLE parameter {#role}
883883

884-
The ROLE parameter (key 0x00) allows the client to specify what roles it
885-
expects the parties to have in the MOQT connection. It has three
886-
possible values, which are of type varint:
884+
The ROLE parameter (key 0x00) allows each endpoint to independently specify what
885+
funnctionality they support for the session. It has three possible values,
886+
which are of type varint:
887887

888-
0x01:
888+
0x01: Publisher
889889

890-
: Only the client is expected to send objects on the connection. This is
891-
commonly referred to as the ingestion case.
890+
: The endpoint can process subscriptions and send objects, but not subscribe.
891+
The endpoint MUST NOT send a SUBSCRIBE message and an ANNOUNCE MUST NOT be
892+
sent to it.
892893

893-
0x02:
894+
0x02: Subscriber
894895

895-
: Only the server is expected to send objects on the connection. This is
896-
commonly referred to as the delivery case.
896+
: The endpoint can send subscriptions and receive objects, but not publish.
897+
The endpoint MUST NOT send an ANNOUNCE message and a SUBSCRIBE MUST NOT be
898+
sent to it.
897899

898-
0x03:
900+
0x03: PubSub
899901

900-
: Both the client and the server are expected to send objects.
902+
: The endpoint can act as a publisher or subscriber, and can send or process
903+
any message type.
901904

902-
The client MUST send a ROLE parameter with one of the three values
903-
specified above. The server MUST close the session if the ROLE
904-
parameter is missing, is not one of the three above-specified values, or
905-
it is different from what the server expects based on the application.
905+
Both endpoints MUST send a ROLE parameter with one of the three values
906+
specified above. Both endpoints MUST close the session if the ROLE
907+
parameter is missing or is not one of the three above-specified values.
906908

907909
#### PATH parameter {#path}
908910

0 commit comments

Comments
 (0)