Files
Hermit/include/cst_parliament_cli.h
WHCandCursor c329db504d perf: accept thread + dial backoff; join/peers.json (0.9.23)
Run inbound peer handling on its own thread so outbound dials cannot starve
:9100. Failed peers cool down exponentially. Also land --join (member seat)
and realm/peers.json seed discovery for Tailscale meshes.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-10-29 18:16:46 +08:00

38 lines
1.7 KiB
C

#ifndef CST_PARLIAMENT_CLI_H
#define CST_PARLIAMENT_CLI_H
#ifdef __cplusplus
extern "C" {
#endif
/* Standalone parliament/Realm ops for Docker and unattended smoke tests.
* Returns a process exit code (0 = success). */
int cst_parliament_cli_realm_new(void);
int cst_parliament_cli_realm_password_init(const char *password);
int cst_parliament_cli_login(const char *password, const char *instance_id,
const char *device_label, int peer_port);
/* Login then ensure background parliament service (discover + sync). */
int cst_parliament_cli_login_and_serve(const char *password,
const char *instance_id,
const char *device_label, int peer_port);
/* Join as member seat (no chair steal) then start background service. */
int cst_parliament_cli_join_and_serve(const char *password,
const char *instance_id,
const char *device_label, int peer_port);
int cst_parliament_cli_service(const char *password, const char *instance_id,
int peer_port, int foreground);
int cst_parliament_cli_service_stop(void);
int cst_parliament_cli_new_project(const char *project_id);
int cst_parliament_cli_realm_enroll(const char *instance_id, const char *label);
int cst_parliament_cli_peer_listen(int port, const char *instance_id);
int cst_parliament_cli_peer_dial(const char *host, int port,
const char *instance_id);
int cst_parliament_cli_discover(const char *instance_id, int peer_port,
int wait_ms);
#ifdef __cplusplus
}
#endif
#endif