###

Berkeley DB Reference Guide:
  Berkeley DB Replication

# Replication environment IDs

Each database environment included in a replication group must have a unique identifier for itself and for the other members of the replication group. The identifiers do not need to be global, that is, each database environment can assign local identifiers to members of the replication group as it encounters them. For example, given three sites: A, B and C, site A might assign the identifiers 1 and 2 to sites B and C respectively, while site B might assign the identifiers 301 and 302 to sites A and C respectively. Note, it is not wrong to have global identifiers, of course, it is just not necessary.

It is the responsibility of the application to label each incoming replication message passed to DB_ENV->rep_process_message function with the appropriate identifier. Subsequently, Berkeley DB will label outgoing messages to the send interface with those same identifiers.

Negative identifiers are reserved for use by Berkeley DB, and should never be assigned to environments by the application. Two of these reserved identifiers are intended for application use, as follows:

DB_EID_BROADCAST
  The DB_EID_BROADCAST identifier indicates a message should be broadcast to all members of a replication group.

DB_EID_INVALID
  The DB_EID_INVALID identifier is an invalid environment ID, and may be used to initialize environment ID variables that are subsequently checked for validity.

Copyright Sleepycat Software