# DbEnv::set_rpc_server |

`

###

    #include <db_cxx.h>

    int
    DbEnv::set_rpc_server(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 DbEnv::set_rpc_server method has been called, subsequent calls to Berkeley DB library interfaces may return DB_NOSERVER, DB_NOSERVER_ID, or DB_NOSERVER_HOME.

The DbEnv::set_rpc_server method either returns a non-zero error value or throws an exception that encapsulates a non-zero error value on failure, and returns 0 on success.

# Errors

The DbEnv::set_rpc_server method may fail and throw an exception or return a non-zero error for the following conditions:

EINVAL
  An invalid flag value or parameter was specified.

The DbEnv::set_rpc_server method may fail and throw an exception or return a non-zero error for errors specified for other Berkeley DB and C library or system methods. If a catastrophic error has occurred, the DbEnv::set_rpc_server method may fail and either return DB_RUNRECOVERY or throw an exception encapsulating DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail in the same way.

# Class

DbEnv

# See Also

DbEnv::close, DbEnv::err, DbEnv::errx DbEnv::open, DbEnv::remove, DbEnv::set_alloc, DbEnv::set_cachesize, DbEnv::set_data_dir, DbEnv::set_errcall, DbEnv::set_errfile, DbEnv::set_error_stream, DbEnv::set_errpfx, DbEnv::set_feedback, DbEnv::set_flags, DbEnv::set_mutexlocks, DbEnv::set_pageyield, DbEnv::set_paniccall, DbEnv::set_panicstate, DbEnv::set_recovery_init, DbEnv::set_rpc_server, DbEnv::set_region_init, DbEnv::set_shm_key, DbEnv::set_tas_spins, DbEnv::set_tmp_dir, DbEnv::set_verbose, DbEnv::strerror and DbEnv::version.`

Copyright Sleepycat Software