Google

DB_ENV->set_rpc_server

APIRef

#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 method has been called, subsequent calls to Berkeley DB library interfaces may return or throw exceptions encapsulating DB_NOSERVER, DB_NOSERVER_ID, or DB_NOSERVER_HOME.

The DB_ENV->set_rpc_server method configures operations performed using the specified DB_ENV handle, not all operations performed on the underlying database environment.

The DB_ENV->set_rpc_server interface may not be called after the DB_ENV->open interface is called.

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

Errors

The DB_ENV->set_rpc_server method 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 method 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 method may fail and return DB_RUNRECOVERY, in which case all subsequent Berkeley DB calls will fail in the same way.

Class

DB_ENV

See Also

Database Environments and Related Methods

APIRef

Copyright Sleepycat Software