# DB_ENV->set_rpc_server

`

###

    #include <db.h>

    int
    DB_ENV->set_rpc_server(DB_ENV *dbenv, CLIENT *client, char *host,
        long cl_timeout, long sv_timeout, u_int32_t flags);

# Description

Establishes a connection for this dbenv to a RPC server. If the client argument is NULL, this call creates a connection to the Berkeley DB server on the indicated hostname and sets up a channel for communication. If the client channel has been provided by the application then Berkeley DB will use it as its connection and the host and cl_timeout fields are ignored.

The cl_timeout argument specifies the number of seconds the client should wait for results to come back from the server. Once the timeout has expired on any communication with the server, DB_NOSERVER will be returned. If this value is zero, a default timeout is used.

The sv_timeout argument specifies the number of seconds the server should allow a client connection to remain idle before assuming that the client is gone. Once that timeout has been reached, the server releases all resources associated with that client connection. Subsequent attempts by that client to communicate with the server result in DB_NOSERVER_ID, indicating that an invalid identifier has been given to the server. This value can be considered a hint to the server. The server may alter this value based on its own policies or allowed values. If this value is zero, a default timeout is used.

The flags parameter is currently unused, and must be set to 0.

When the DB_ENV->set_rpc_server function has been called, subsequent calls to Berkeley DB library interfaces may return DB_NOSERVER, DB_NOSERVER_ID, or DB_NOSERVER_HOME.

The DB_ENV->set_rpc_server interface may be used only to configure Berkeley DB before the DB_ENV->open interface is called.

The DB_ENV->set_rpc_server function returns a non-zero error value on failure and 0 on success.

# Errors

The DB_ENV->set_rpc_server function may fail and return a non-zero error for the following conditions:

EINVAL
  An invalid flag value or parameter was specified.

The DB_ENV->set_rpc_server function may fail and return a non-zero error for errors specified for other Berkeley DB and C library or system functions. If a catastrophic error has occurred, the DB_ENV->set_rpc_server function may fail and return DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail in the same way.

# See Also

db_env_create, DB_ENV->close, DB_ENV->err, DB_ENV->errx DB_ENV->open, DB_ENV->remove, DB_ENV->set_alloc, DB_ENV->set_cachesize, DB_ENV->set_data_dir, DB_ENV->set_errcall, DB_ENV->set_errfile, DB_ENV->set_errpfx, DB_ENV->set_feedback, DB_ENV->set_flags, DB_ENV->set_paniccall, DB_ENV->set_recovery_init, DB_ENV->set_rpc_server, DB_ENV->set_shm_key, DB_ENV->set_tas_spins, DB_ENV->set_tmp_dir, DB_ENV->set_timeout, DB_ENV->set_verbose, db_strerror and db_version.`

Copyright Sleepycat Software