librpc
Typedefs | Functions
client.h File Reference
#include <stdbool.h>
#include <rpc/connection.h>
Include dependency graph for client.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Typedefs

typedef struct rpc_client * rpc_client_t
 

Functions

_Nullable rpc_client_t rpc_client_create (const char *_Nonnull uri, _Nullable rpc_object_t params)
 
_Nonnull rpc_connection_t rpc_client_get_connection (_Nonnull rpc_client_t client)
 
void rpc_client_close (_Nonnull rpc_client_t client)
 

Detailed Description

RPC client API.

Definition in file client.h.

Typedef Documentation

◆ rpc_client_t

typedef struct rpc_client* rpc_client_t

RPC client handle.

Definition at line 52 of file client.h.

Function Documentation

◆ rpc_client_close()

void rpc_client_close ( _Nonnull rpc_client_t  client)

Closes the connection and frees associated resources.

Parameters
clientClient handle
Examples:
client.c, fd-client.c, fd-transport.c, libdispatch.c, log-reader.c, loopback.c, pack-unpack.c, and shm-client.c.

◆ rpc_client_create()

_Nullable rpc_client_t rpc_client_create ( const char *_Nonnull  uri,
_Nullable rpc_object_t  params 
)

Creates a new, connected RPC client.

URI parameter can take multiple forms:

  • unix://(path) connects to an Unix domain socket
  • tcp://(ip-address):(port) connects using a TCP socket
  • ws://(ip-address):(port)/(path) connects using a WebSocket
  • loopback://(id) connects using a local transport
Parameters
uriEndpoint URI
paramsTransport-specific parameters or NULL
Returns
Connect RPC client handle
Examples:
client.c, fd-client.c, fd-transport.c, libdispatch.c, log-reader.c, loopback.c, pack-unpack.c, and shm-client.c.

◆ rpc_client_get_connection()

_Nonnull rpc_connection_t rpc_client_get_connection ( _Nonnull rpc_client_t  client)

Gets the connection object from a client.

Parameters
clientClient object to get the connection from
Returns
Connection handle
Examples:
client.c, fd-client.c, fd-transport.c, libdispatch.c, loopback.c, pack-unpack.c, and shm-client.c.