Striven
2025-09-10 e170bbf6f9b4e7b22b50d4130b0a2808e2e85f45
04_rendezvous/03_rendezvous_structure.md
@@ -2,13 +2,15 @@
## Common Structures
### `Buffer`
Example:
### Structure: `Buffer`
##### Example
```
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000  04 00 01 02 04 05                                ......
```
##### Parsing
| Name   | Description                         | Type         |
|--------|-------------------------------------|--------------|
| Length | The length of the buffer, in bytes. | `u16`        |
@@ -16,32 +18,46 @@
The length of the data is `4`, with the bytes being: `.{ 1, 2, 3, 4 }`.
### `String`
Example:
### Structure: `String`
##### Example
```
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000  0E 00 4C 6F 67 69 6E 50 72 6F 74 6F 63 6F 6C 00  ..LoginProtocol.
```
| Name   | Description                                                 | Type                |
|--------|-------------------------------------------------------------|---------------------|
| Buffer | The UTF-8 encoded, null-terminated string data as a buffer. | [`Buffer`](#buffer) |
##### Parsing
| Name   | Description                                                 | Type                          |
|--------|-------------------------------------------------------------|-------------------------------|
| Buffer | The UTF-8 encoded, null-terminated string data as a buffer. | [`Buffer`](#structure-buffer) |
Strings in RendezVous are null-terminated [buffers](#buffer) in UTF-8 encoding.
Strings in RendezVous are null-terminated [buffers](#structure-buffer) in UTF-8 encoding.
### `List<T>`
Example:
### Structure: `List<T>`
##### Example
```
Offset(h) 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
00000000  01 00 00 00 12 00 43 6C 69 65 6E 74 56 65 72 73  ......ClientVers
00000010  69 6F 6E 49 6E 66 6F 00 01 00                    ionInfo...
```
##### Parsing
| Name            | Description                                 | Type                 |
|-----------------|---------------------------------------------|----------------------|
| Number of Items | The number of individual items in the list. | `u32`                |
| Items           | The items in the list.                      | `T[Number of Items]` |
##' `UUID`
### Structure: `StationURL`
> [!NOTE]
> TODO: Example
##### Parsing
| Name | Description             | Type                          |
|------|-------------------------|-------------------------------|
| URL  | The URL of the station. | [`String`](#structure-string) |
### Structure: `UUID`
> TODO