Striven
2025-09-10 15ce2d6a817b193516f024e43a075ae64d69c29c
04_rendezvous/03_rendezvous_structure.md
@@ -1,12 +1,16 @@
All types are in little-endian.
## `Buffer`
Example:
## Common Structures
### `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`        |
@@ -14,32 +18,36 @@
The length of the data is `4`, with the bytes being: `.{ 1, 2, 3, 4 }`.
## `String`
Example:
### `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.
```
##### Parsing
| Name   | Description                                                 | Type                |
|--------|-------------------------------------------------------------|---------------------|
| Buffer | The UTF-8 encoded, null-terminated string data as a buffer. | [`Buffer`](#buffer) |
Strings in RendezVous are null-terminated [buffers](#buffer) in UTF-8 encoding.
## `List<T>`
Example:
### `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`
### `UUID`
> TODO