HPPR Repository Message Flow
Tags: repo, command-flow, message
© R.A.Sol
Repository message flow processes one complete request packet and returns one complete response packet. It does not create or use a connection-local session.
Message requests are replayable by design. Use them for public reads and packet-authorized admission.
Accepted Envelopes
Non-HELLO message requests use the public message Seal envelope defined in 042:
Group: repo
API: 🖧<COMMAND>
Key: message/anyone
The server resolves read identity as Ring1 anyone
and applies anyone policy. Session envelopes and
trusted local Null command envelopes are rejected on repository
message-flow listeners.
HTTP /hppr
HTTP is a repository message-flow endpoint. The request body is one complete HPPR request packet and the response body is one complete HPPR response packet. HTTP transport behavior is defined in 034.
Default commands:
🖧HELLO🖧GET🖧HEADERS🖧LIST🖧INGEST
🖧STORE, 🖧ADD, 🖧DETACH,
🖧TIPS, 🖧MEMBERS, 🖧EXCHANGE,
🖧WATCH, 🖧AUDIT, 🖧STREAM_PUB,
and 🖧STREAM_SUB are not accepted on the default HTTP
message flow.
HTTP HELLO advertises endpoint-specific commands and includes these metadata headers:
🖧: 0.H3
Command-Flow: message
Repo-Name: <repo-name>
Seal-By: <repo-verifier>
Format: H3
Transport: tcp:4777 flow=session
Transport: quib:4776 flow=session
Transport: http:4778 flow=message path=/hppr
Message-Commands: 🖧HELLO 1 | 🖧GET 1 | 🖧HEADERS 1 | 🖧LIST 1 | 🖧INGEST 1
Allow-Null-Command: 0
Status: ok
Data-Length: 0
Repository message flow uses the public message Seal envelope for non-HELLO commands. It does not accept trusted local Null command envelopes.
UDP
Repository UDP is a stricter datagram message-flow subset. UDP transport behavior is defined in 035.
UDP accepts only:
🖧GET🖧HEADERS
UDP does not accept 🖧HELLO, 🖧LIST,
🖧INGEST, 🖧STORE, or stream commands. Other
HELLO responses advertise it as:
Transport: udp:<port> flow=message
Oversized responses return TOO_LARGE when
possible.
Flow-specific Command Notes
Command semantics are defined in 041. 🖧INGEST
uses the submitted packet signer as authority; Ring2 validation
rules are specified in 052.
🖧STORE remains session flow only because STORE
authorizes the request principal rather than the submitted packet
signer.