53#define ZCM_NODE_REGISTER_EX_DUPLICATE (-2)
96 const char *ctrl_endpoint,
const char *host,
int pid,
97 const char *role,
int pub_port,
int push_port);
109 char *out_endpoint,
size_t out_size);
128 char *out_endpoint,
size_t out_ep_size,
129 char *out_ctrl_endpoint,
size_t out_ctrl_size,
130 char *out_host,
size_t out_host_size,
168 int pub_port,
int push_port,
169 int pub_bytes,
int sub_bytes,
170 int push_bytes,
int pull_bytes);
int zcm_node_register_ex(zcm_node_t *node, const char *name, const char *endpoint, const char *ctrl_endpoint, const char *host, int pid, const char *role, int pub_port, int push_port)
Register a process with extended metadata.
void zcm_socket_free(zcm_socket_t *sock)
Destroy a socket created by zcm_socket_new().
int zcm_socket_send_msg(zcm_socket_t *sock, const zcm_msg_t *msg)
Serialize and send a typed message.
struct zcm_socket zcm_socket_t
Opaque transport socket wrapper.
int zcm_node_info(zcm_node_t *node, const char *name, char *out_endpoint, size_t out_ep_size, char *out_ctrl_endpoint, size_t out_ctrl_size, char *out_host, size_t out_host_size, int *out_pid)
Fetch extended metadata for a registered name.
int zcm_node_list(zcm_node_t *node, zcm_node_entry_t **out_entries, size_t *out_count)
List currently registered node entries.
int zcm_socket_connect(zcm_socket_t *sock, const char *endpoint)
Connect a socket to an endpoint.
int zcm_socket_set_subscribe(zcm_socket_t *sock, const char *prefix, size_t len)
Configure subscription prefix on a SUB socket.
struct zcm_msg zcm_msg_t
Opaque typed message container.
struct zcm_node_entry zcm_node_entry_t
Node listing entry returned by zcm_node_list().
int zcm_socket_send_bytes(zcm_socket_t *sock, const void *data, size_t len)
Send raw bytes.
zcm_socket_type_t
Socket type abstraction mapped to ZeroMQ socket kinds.
int zcm_socket_recv_bytes(zcm_socket_t *sock, void *buf, size_t buf_len, size_t *out_len)
Receive raw bytes into a caller-provided buffer.
int zcm_node_report_metrics(zcm_node_t *node, const char *name, const char *role, int pub_port, int push_port, int pub_bytes, int sub_bytes, int push_bytes, int pull_bytes)
Report runtime role/metric values for a registered name to the broker.
zcm_socket_t * zcm_socket_new(struct zcm_context *ctx, zcm_socket_type_t type)
Create a transport socket wrapper.
zcm_node_t * zcm_node_new(struct zcm_context *ctx, const char *broker_endpoint)
Create a node helper bound to one broker endpoint.
int zcm_node_lookup(zcm_node_t *node, const char *name, char *out_endpoint, size_t out_size)
Resolve a registered name to its endpoint.
int zcm_socket_set_timeouts(zcm_socket_t *sock, int ms)
Configure receive/send socket timeouts.
void zcm_node_free(zcm_node_t *node)
Destroy a node created by zcm_node_new().
int zcm_socket_bind(zcm_socket_t *sock, const char *endpoint)
Bind a socket to an endpoint.
void zcm_node_list_free(zcm_node_entry_t *entries, size_t count)
Free list memory returned by zcm_node_list().
int zcm_node_unregister(zcm_node_t *node, const char *name)
Remove a previously registered name from the broker.
struct zcm_node zcm_node_t
Opaque broker-registry client handle.
int zcm_socket_recv_msg(zcm_socket_t *sock, zcm_msg_t *msg)
Receive and decode a typed message.
int zcm_node_handle_control_msg(zcm_msg_t *req, zcm_msg_t *reply, int *out_should_exit)
Handle a standard ZCM_CMD management message.
Node listing entry returned by zcm_node_list().
char * endpoint
Endpoint string associated with name.
char * name
Registered logical name.
Typed message builder/parser API for zCm payloads.