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 |