The session direction a client advertises in its SETUP (moq-lite-05+).
The single direction a client intends to use the session for.
A client advertises this in its SETUP so the server can reject a token that lacks
the matching scope during the handshake, instead of accepting a connection that
then silently carries no media (a subscribe-only token used to publish, or vice
versa). It only ever narrows what the server grants, so it is not a security
boundary: the server still enforces the token’s scope regardless.
A session is bidirectional by default, which the wire says by omitting the
parameter. Option<Role> mirrors that: None is the default, and it’s also what
a client that predates the parameter decodes to.
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.