Files
video-setup/docs/cli/transport_cli.md
mikael-lovqvists-claude-agent 44090c1d6d docs: write CLI docs for all 12 previously undocumented tools
Add docs/cli/ entries for:
  transport_cli, discovery_cli, config_cli, protocol_cli, query_cli,
  test_image_cli, xorg_cli, v4l2_view_cli, stream_send_cli,
  stream_recv_cli, reconciler_cli, controller_cli

Each doc covers: description, build instructions, full usage with all
options and defaults, example output, and a relationship note pointing
to related tools. controller_cli includes the display control IDs table
and notes its temporary status.

README.md: convert all CLI tool entries to links.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-30 00:45:27 +00:00

70 lines
1.3 KiB
Markdown

# transport_cli
A development tool for exercising the transport layer. Starts a framed-TCP server (which echoes received frames) or a client that connects and sends a sequence of test frames.
---
## Build
From the repository root:
```sh
make cli
```
The binary is placed in `build/cli/`.
---
## Usage
### Server mode
Listen on a port and echo back every frame received:
```sh
./transport_cli server <port> [max_connections]
```
Example:
```sh
./transport_cli server 8000
```
Output (per received frame):
```
received frame: type=0x0001 len=8
```
### Client mode
Connect to a server and send three test frames:
```sh
./transport_cli client <host> <port>
```
Example:
```sh
./transport_cli client 127.0.0.1 8000
```
Each frame carries a fixed payload with a counter:
```
frame 0: payload = deadbeef 00000000
frame 1: payload = deadbeef 00000001
frame 2: payload = deadbeef 00000002
```
---
## Relationship to the Video Routing System
`transport_cli` exercises the `transport` module, which provides the framed TCP stream used by all node-to-node communication. The frame header (message type + payload length) and single-write send are the building blocks for the protocol layer.
See also: [`protocol_cli.md`](protocol_cli.md) for typed message-level testing.