Striven
2025-09-10 efb55753c680578cf2d68eabf5e5465b7ec9b86c
04_rendezvous/05_rmc_protocol.md
@@ -16,9 +16,9 @@
##### Parsing
| Name          | Description                                                                                                                                                 | Type                                            |
|---------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------|
|---------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------|
| Packet Length | The total number of bytes in the packet, not including the length itself.                                                                                   | `u32`                                           |
| Protocol Name | The protocol service on the server that is responsible for managing this request                                                                            | [`String`](./03_rendezvous_structure.md#string) |
| Protocol Name | The protocol service on the server that is responsible for managing this request                                                                            | [`String`](./03_rendezvous_structure.md#structure-string) |
| Is Request?   | Whether or not this packet is for a _request_.                                                                                                              | `bool`                                          |
| ...           | See [Request Packet Format](#request-packet-format) or [Response Packet Format](#response-packet-format) for parsing the packet depending on `Is Request?`. | ...                                             |
@@ -47,11 +47,11 @@
##### Parsing
| Name           | Description                                                                                                                               | Type                                                                              |
|----------------|-------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------|
|----------------|-------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------|
| ...            | See [Base Packet Format](#base-packet-format) for parsing the prologue of a request packet.                                               | ...                                                                               |
| Call ID        | The nonce token for this call to identify the response associated with this request.                                                      | `u32`                                                                             |
| Method Name    | The method to call on the server.                                                                                                         | [`String`](./03_rendezvous_structure.md#string)                                   |
| Class Versions | Version information about the data in the request                                                                                         | [`List`](./03_rendezvous_structure.md#list)`<`[`ClassVersion`](#class-version)`>` |
| Method Name    | The method to call on the server.                                                                                                         | [`String`](./03_rendezvous_structure.md#structure-string)                                    |
| Class Versions | Version information about the data in the request                                                                                         | [`List`](./03_rendezvous_structure.md#structure-listt)`<`[`ClassVersion`](#class-version)`>` |
| Request Data   | Raw data to pass to the request handler, see the respective [protocol and method specification](#known-protocols) to write and read this. | `<remaining bytes>`                                                               |
### `ClassVersion`
@@ -63,8 +63,8 @@
```
| Name           | Description                                       | Type                                            |
|----------------|---------------------------------------------------|-------------------------------------------------|
| Structure Name | The name of the structure to assign a version to. | [`String`](./03_rendezvous_structure.md#string) |
|----------------|---------------------------------------------------|-----------------------------------------------------------|
| Structure Name | The name of the structure to assign a version to. | [`String`](./03_rendezvous_structure.md#structure-string) |
| Version        | The version of the structure.                     | `u16`                                           |
## Response Packet Format
@@ -91,18 +91,18 @@
##### Parsing
| Name          | Description                                                                                                                                | Type                                            |
|---------------|--------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------|
|---------------|--------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------|
| ...           | See [Response Packet Format](#response-packet-format) for parsing the prologue of a successful response packet.                            | ...                                             |
| Call ID       | The nonce token for the call to associate the response to the request.                                                                     | `u32`                                           |
| Method Name   | The method that was called by the client.                                                                                                  | [`String`](./03_rendezvous_structure.md#string) |
| Method Name   | The method that was called by the client.                                                                                                  | [`String`](./03_rendezvous_structure.md#structure-string) |
| Response Data | Raw data to pass to the response handler, see the respective [protocol and method specification](#known-protocols) to write and read this. | `<remaining bytes>`                             |
### Unsuccessful Response Format
##### Parsing
| Name            | Description                                                                                                        | Type                                            |
|-----------------|--------------------------------------------------------------------------------------------------------------------|-------------------------------------------------|
|-----------------|--------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------|
| ...             | See [Response Packet Format](#response-packet-format) for parsing the prologue of an unsuccessful response packet. | ...                                             |
| Error Namespace | The category of error that occurred.                                                                               | [`String`](./03_rendezvous_structure.md#string) |
| Error Namespace | The category of error that occurred.                                                                               | [`String`](./03_rendezvous_structure.md#structure-string) |
| Error Code      | The code of the error in the specified namespace                                                                   | `u16`                                           |
| Call ID         | The nonce token for the call to associate the response to the request.                                             | `u32`                                           |