DB_ENV->set_event_notify
|
|
#include <db.h>
int
DB_ENV->set_event_notify(DB_ENV *dbenv,
void (*db_event_fcn)(DB_ENV *dbenv, u_int32_t event, void *event_info));
Description: DB_ENV->set_event_notify
The DB_ENV->set_event_notify method configures a callback function which
is called to notify the process of specific Berkeley DB events.
The DB_ENV->set_event_notify method configures operations performed using the specified
DB_ENV handle, not all operations performed on the underlying
database environment.
The DB_ENV->set_event_notify method may be called at any time during the life of the
application.
The DB_ENV->set_event_notify method
returns a non-zero error value on failure
and 0 on success.
Parameters
db_event_fcn- The db_event_fcn parameter is the application's event
notification function. The function takes three parameters:
dbenv- The dbenv parameter is the enclosing database environment handle.
event- The event parameter is one of the following values:
DB_EVENT_PANIC
DB_EVENT_REP_CLIENT- The local site is now a replication client.
DB_EVENT_REP_ELECTED- The local replication site has just won an election. An application using
the Base replication API should arrange for a call to the DB_ENV->rep_start method
after receiving this event, to reconfigure the local environment as a
replication master.
Replication Manager applications may safely ignore this event. The
Replication Manager calls DB_ENV->rep_start automatically on behalf of
the application when appropriate (resulting in firing of the
DB_EVENT_REP_MASTER event).
DB_EVENT_REP_MASTER- The local site is now the master site of its replication group. It is
the application's responsibility to begin acting as the master environment.
DB_EVENT_REP_NEWMASTER- The replication group of which this site is a member has just established a
new master; the local site is not the new master. The
event_info parameter points to an integer containing the
environment ID of the new master.
DB_EVENT_REP_PERM_FAILED- The replication manager did not receive enough acknowledgements (based on
the acknowledgement policy configured with DB_ENV->repmgr_set_ack_policy)
to ensure a transaction's durability within the replication group. The
transaction will be flushed to the master's local disk storage for
durability.
The DB_EVENT_REP_PERM_FAILED event is provided only to applications
configured for the replication manager.
DB_EVENT_REP_STARTUPDONE- The client has completed startup synchronization and is now processing
live log records received from the master.
DB_EVENT_WRITE_FAILED- A Berkeley DB write to stable storage failed.
event_info- The event_info parameter may reference memory which contains
additional information describing an event. By default,
event_info is NULL; specific events may pass non-NULL values,
in which case the event will also describe the memory's structure.
Berkeley DB is not re-entrant. Callback functions should not attempt to make
library calls (for example, to release locks or close open handles).
Re-entering Berkeley DB is not guaranteed to work correctly, and the results
are undefined.
Class
DB_ENV
See Also
Database Environments and Related Methods
Copyright (c) 1996,2008 Oracle. All rights reserved.