| | |
| | | # RendezVous: PRUDP Protocol |
| | | |
| | | PRUDP probably stands for: "**P**rotected **R**eliable **U**ser **D**atagram **P**rotocol", as it is designed for adding connections, reliability, encryption and compression to UDP. To do this, it adds [connections](#connections), [ordering](#ordering), [fragmentation](#fragmentation) and [checksums](#checksums). |
| | | |
| | | ## Packets |
| | | ### Packet: `SYN` |
| | | |
| | | ### Packet: `CONNECT` |
| | | |
| | | This stage is used to derive a shared secret key. |
| | | |
| | | #### Client->Server Payload |
| | | | Name | Description | Type | |
| | | |------|-------------|------| |
| | | | Public Key | The client's _public key_. | [`Buffer`](./03_structure.md#structure-buffer) | |
| | | |
| | | #### Server->Client Payload |
| | | | Name | Description | Type | |
| | | |------|-------------|------| |
| | | | Public Key Signature | Presumably, the client's _public key_ signed by the server's _private key_. | [`Buffer`](./03_structure.md#structure-buffer) | |
| | | | Public Key | The server's _public key_. | [`Buffer`](./03_structure.md#structure-buffer) | |
| | | |
| | | ### Packet: `DATA` |
| | | ### Packet: `DISCONNECT` |
| | | ### Packet: `PING` |
| | | |
| | | ## Connections |
| | | |
| | | |
| | | |
| | | ## Ordering |
| | | |
| | | ## Fragmentation |
| | | |
| | | ## Checksums |
| | | |
| | | ## Packet Format |