|
librpc
|


Go to the source code of this file.
Macros | |
| #define | RPC_SERVER_HANDLER(_fn, _arg) |
Typedefs | |
| typedef struct rpc_server * | rpc_server_t |
| typedef enum rpc_server_event | rpc_server_event_t |
| typedef void(^ | rpc_server_ev_handler_t) (_Nonnull rpc_connection_t conn, rpc_server_event_t event) |
Enumerations | |
| enum | rpc_server_event { RPC_SERVER_CLIENT_CONNECT, RPC_SERVER_CLIENT_DISCONNECT } |
Functions | |
| _Nullable rpc_server_t | rpc_server_create (const char *_Nonnull uri, _Nonnull rpc_context_t context) |
| _Nullable rpc_server_t | rpc_server_find (const char *_Nonnull uri, _Nonnull rpc_context_t context) |
| void | rpc_server_pause (_Nonnull rpc_server_t server) |
| _Nullable rpc_server_t | rpc_server_create_ex (const char *_Nonnull uri, _Nonnull rpc_context_t context, _Nullable rpc_object_t params) |
| void | rpc_server_resume (_Nonnull rpc_server_t server) |
| void | rpc_server_broadcast_event (_Nonnull rpc_server_t server, const char *_Nullable path, const char *_Nullable interface, const char *_Nonnull name, _Nullable rpc_object_t args) |
| void | rpc_server_set_event_handler (_Nonnull rpc_server_t server, _Nullable rpc_server_ev_handler_t handler) |
| int | rpc_server_close (_Nonnull rpc_server_t server) |
| int | rpc_server_socket_activate (_Nonnull rpc_context_t context, _Nonnull rpc_server_t *_Nonnull *_Nonnull servers, _Nullable rpc_object_t *_Nullable rest) |
RPC server API.
Definition in file server.h.
| #define RPC_SERVER_HANDLER | ( | _fn, | |
| _arg | |||
| ) |
Converts function pointer to a rpc_server_ev_handler_t block type.
| typedef void(^ rpc_server_ev_handler_t) (_Nonnull rpc_connection_t conn, rpc_server_event_t event) |
| typedef struct rpc_server* rpc_server_t |
| void rpc_server_broadcast_event | ( | _Nonnull rpc_server_t | server, |
| const char *_Nullable | path, | ||
| const char *_Nullable | interface, | ||
| const char *_Nonnull | name, | ||
| _Nullable rpc_object_t | args | ||
| ) |
Broadcasts an event of a given name among its subscribers.
| server | Server handle |
| name | Name of an event to be broadcasted |
| args | Event arguments |
| int rpc_server_close | ( | _Nonnull rpc_server_t | server | ) |
Closes a given RPC server.
| server | Server handle to be closed |
| _Nullable rpc_server_t rpc_server_create | ( | const char *_Nonnull | uri, |
| _Nonnull rpc_context_t | context | ||
| ) |
Creates a server instance listening on a given URI.
| uri | URI to listen on |
| context | RPC context for a server instance |
| _Nullable rpc_server_t rpc_server_create_ex | ( | const char *_Nonnull | uri, |
| _Nonnull rpc_context_t | context, | ||
| _Nullable rpc_object_t | params | ||
| ) |
Creates a server instance listening on a given URI.
| uri | URI to listen on |
| context | RPC context for a server instance |
| params | Additional parameters for a transport |
| _Nullable rpc_server_t rpc_server_find | ( | const char *_Nonnull | uri, |
| _Nonnull rpc_context_t | context | ||
| ) |
Finds a server instance if it exists for a context.
| uri | Server URI to check |
| context | RPC context for a server instance |
| void rpc_server_pause | ( | _Nonnull rpc_server_t | server | ) |
Stops accepting requests for the server.
Server instance keeps all the incoming requests queued and on hold until rpc_server_resume is called.
| server | Server handle |
| void rpc_server_resume | ( | _Nonnull rpc_server_t | server | ) |
Starts accepting requests by the server.
Server instance keeps all the incoming requests queued and on hold until this function is called.
| server | Server handle |
| void rpc_server_set_event_handler | ( | _Nonnull rpc_server_t | server, |
| _Nullable rpc_server_ev_handler_t | handler | ||
| ) |
Creates an event handler internal to a server for an event of a given name.
| handler |
| int rpc_server_socket_activate | ( | _Nonnull rpc_context_t | context, |
| _Nonnull rpc_server_t *_Nonnull *_Nonnull | servers, | ||
| _Nullable rpc_object_t *_Nullable | rest | ||
| ) |
Sets up some number of servers using systemd socket activation information.
| servers | |
| rest |
1.8.13