#include <db_cxx.h> int DbEnv::repmgr_site_list(u_int *countp, DB_REPMGR_SITE **listp);
The DbEnv::repmgr_site_list()
method returns the status of the
sites currently known by the Replication Manager.
The DbEnv::repmgr_site_list()
method creates a statistical
structure of type DB_REPMGR_SITE
and copies a pointer to it into a
user-specified memory location.
Statistical structures are stored in allocated memory. If application-specific allocation routines have been declared (see DbEnv::set_alloc() for more information), they are used to allocate the memory; otherwise, the standard C library malloc(3) is used. The caller is responsible for deallocating the memory. To deallocate the memory, free the memory reference; references inside the returned memory need not be individually freed.
The following DB_REPMGR_SITE
fields will be filled in:
int eid;
Environment ID assigned by the Replication Manager. This is the same value that is passed to the application's event notification function for the DB_EVENT_REP_NEWMASTER event.
char host[];
Null-terminated host name.
u_int port;
TCP/IP port number.
u_int32_t status;
Zero (if unknown), or one of the following
constants: DB_REPMGR_CONNECTED
,
DB_REPMGR_DISCONNECTED
.
u_int32_t flags;
Zero or a bitwise inclusive OR of the DB_REPMGR_ISPEER
constant.
The DB_REPMGR_ISPEER
value means that the site is a possible client-to-client peer.
The DbEnv::repmgr_site_list()
method may be called only after the
DbEnv::repmgr_start() method
has been called with a 0
return code.
The DbEnv::repmgr_site_list()
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.