Skip to content

Commit 407f68f

Browse files
authored
Split SETUP messages (#297)
Fixes #212
2 parents 3b93c6f + 1f21a97 commit 407f68f

File tree

1 file changed

+22
-20
lines changed

1 file changed

+22
-20
lines changed

draft-ietf-moq-transport.md

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -346,7 +346,7 @@ The client can establish a connection to a MoQ server identified by a
346346
given URI by setting up a QUIC connection to the host and port
347347
identified by the `authority` section of the URI. The `path-abempty`
348348
and `query` portions of the URI are communicated to the server using the
349-
PATH parameter ({{path}}) which is sent in the SETUP message at the
349+
PATH parameter ({{path}}) which is sent in the CLIENT_SETUP message at the
350350
start of the session. The ALPN value {{!RFC7301}} used by the protocol
351351
is `moq-00`.
352352

@@ -355,17 +355,17 @@ is `moq-00`.
355355
Endpoints use the exchange of SETUP messages to negotiate the MOQT version and
356356
any extensions to use.
357357

358-
The client indicates the MOQT versions it supports in its SETUP message (see
359-
{{message-setup}}). It also includes the union of all Setup Parameters
358+
The client indicates the MOQT versions it supports in the CLIENT_SETUP message
359+
(see {{message-setup}}). It also includes the union of all Setup Parameters
360360
{{setup-params}} required for a handshake by any of those versions.
361361

362362
Within any MOQT version, clients request the use of extensions by adding SETUP
363363
parameters corresponding to that extension. No extensions are defined in this
364364
document.
365365

366-
The server replies with a SETUP message that indicates the chosen version,
367-
includes all parameters required for a handshake in that version, and parameters
368-
for every extension requested by the client that it supports.
366+
The server replies with a SERVER_SETUP message that indicates the chosen
367+
version, includes all parameters required for a handshake in that version, and
368+
parameters for every extension requested by the client that it supports.
369369

370370
New versions of MOQT MUST specify which existing extensions can be used with
371371
that version. New extensions MUST specify the existing versions with which they
@@ -687,8 +687,6 @@ MOQT Message {
687687
|------:|:---------------------------------------------------|
688688
| 0x0 | OBJECT with payload length ({{message-object}}) |
689689
|-------|----------------------------------------------------|
690-
| 0x1 | SETUP ({{message-setup}}) |
691-
|-------|----------------------------------------------------|
692690
| 0x2 | OBJECT without payload length ({{message-object}}) |
693691
|-------|----------------------------------------------------|
694692
| 0x3 | SUBSCRIBE ({{message-subscribe-req}}) |
@@ -713,6 +711,10 @@ MOQT Message {
713711
|-------|----------------------------------------------------|
714712
| 0x10 | GOAWAY ({{message-goaway}}) |
715713
|-------|----------------------------------------------------|
714+
| 0x40 | CLIENT_SETUP ({{message-setup}}) |
715+
|-------|----------------------------------------------------|
716+
| 0x41 | SERVER_SETUP ({{message-setup}}) |
717+
|-------|----------------------------------------------------|
716718

717719
## Parameters {#params}
718720

@@ -782,33 +784,33 @@ information in a SUBSCRIBE or ANNOUNCE message. This parameter is populated for
782784
cases where the authorization is required at the track level. The value is an
783785
ASCII string.
784786

785-
## SETUP {#message-setup}
787+
## CLIENT_SETUP and SERVER_SETUP {#message-setup}
786788

787-
The `SETUP` message is the first message that is exchanged by the client
788-
and the server; it allows the peers to establish the mutually supported
789-
version and agree on the initial configuration before any objects are
790-
exchanged. It is a sequence of key-value pairs called SETUP parameters;
791-
the semantics and format of which can vary based on whether the client
792-
or server is sending. To ensure future extensibility of MOQT, the peers
793-
MUST ignore unknown setup parameters. TODO: describe GREASE for those.
789+
The `CLIENT_SETUP` and `SERVER_SETUP` messages are the first messages exchanged
790+
by the client and the server; they allows the peers to establish the mutually
791+
supported version and agree on the initial configuration before any objects are
792+
exchanged. It is a sequence of key-value pairs called SETUP parameters; the
793+
semantics and format of which can vary based on whether the client or server is
794+
sending. To ensure future extensibility of MOQT, the peers MUST ignore unknown
795+
setup parameters. TODO: describe GREASE for those.
794796

795-
The wire format of the SETUP message is as follows:
797+
The wire format of the SETUP messages is as follows:
796798

797799
~~~
798-
Client SETUP Message Payload {
800+
CLIENT_SETUP Message Payload {
799801
Number of Supported Versions (i),
800802
Supported Version (i) ...,
801803
Number of Parameters (i) ...,
802804
SETUP Parameters (..) ...,
803805
}
804806

805-
Server SETUP Message Payload {
807+
SERVER_SETUP Message Payload {
806808
Selected Version (i),
807809
Number of Parameters (i) ...,
808810
SETUP Parameters (..) ...,
809811
}
810812
~~~
811-
{: #moq-transport-setup-format title="MOQT SETUP Message"}
813+
{: #moq-transport-setup-format title="MOQT SETUP Messages"}
812814

813815
The available versions and SETUP parameters are detailed in the next sections.
814816

0 commit comments

Comments
 (0)