22 lines
1.5 KiB
Markdown
22 lines
1.5 KiB
Markdown
# MTP Connections
|
|
|
|
Native clients and hosts share the same connection shape after the opening handshake. The client creates the connection; the host receives it from `accept()`.
|
|
|
|
| Member | Native client | Native host |
|
|
| --- | --- | --- |
|
|
| `version` | Compiled client version accepted by the host | Version selected by the registry |
|
|
| `sender` | Sends `CommunicationValue` frames | Sends `CommunicationValue` frames |
|
|
| `receiver` | Receives application frames | Receives application frames |
|
|
| `description` | Optional label sent during setup | Optional label received from the client |
|
|
| `client_id` | Confirmed or assigned ID with `crypto` | Authenticated or guest client ID with `crypto` |
|
|
| `auth_state` | Authentication result with `crypto` | Authentication result with `crypto` |
|
|
|
|
The host connection also exposes a version-scoped `codec` and, for an authenticated client, its `client_public_key`. The native client connection also exposes these methods:
|
|
|
|
| Method | Behavior |
|
|
| --- | --- |
|
|
| `request` | Sends a frame and waits for a response with the same frame ID, subject to `request_timeout`. |
|
|
| `get_ping` | Returns the latest matched protocol Ping round-trip duration. |
|
|
| Pipe methods | Create, accept, deny, read, write, and close native pipe streams when the `pipes` feature is enabled. |
|
|
|
|
Connection lifecycle and keepalive behavior are defined in [Protocol Reference](PROTOCOL-REFERENCE.md). Pipe dispatch rules are in [Pipes](PIPES.md). Closing or dropping the connection stops its background tasks and closes the underlying QUIC session.
|