One connection’s discovery record: the connection identity the streaming
server holds plus the opaque metadata the client advertised. A LaserData-owned
type, deliberately distinct from the upstream Apache Iggy ClientInfo (which
stays byte-identical so an Apache Iggy SDK keeps working against LaserData
Cloud). The metadata is opaque: an agent advertises its card, a regular app
sets any blob the consumer interprets.
The reply to AGDX_GET_CLIENTS_METADATA: one page of connections with their
advertised metadata, plus next_cursor (the last client_id in the page) when
more connections remain, so the caller pages by passing it as the next
after_client_id. None means the last page.
The discovery read request (AGDX_GET_CLIENTS_METADATA). Filtered and
paginated, because a busy server may hold thousands of connections and a
caller must not have to pull them all at once. The server orders connections
by client_id, applies the filters, skips past after_client_id, and returns
up to limit entries plus a cursor when more remain.