summaryrefslogtreecommitdiff
path: root/docs/programmer_reference/rep_comm.html
diff options
context:
space:
mode:
Diffstat (limited to 'docs/programmer_reference/rep_comm.html')
-rw-r--r--docs/programmer_reference/rep_comm.html203
1 files changed, 111 insertions, 92 deletions
diff --git a/docs/programmer_reference/rep_comm.html b/docs/programmer_reference/rep_comm.html
index 0adad6dc..aaf5df34 100644
--- a/docs/programmer_reference/rep_comm.html
+++ b/docs/programmer_reference/rep_comm.html
@@ -8,13 +8,13 @@
<meta name="generator" content="DocBook XSL Stylesheets V1.73.2" />
<link rel="start" href="index.html" title="Berkeley DB Programmer's Reference Guide" />
<link rel="up" href="rep.html" title="Chapter 12.  Berkeley DB Replication" />
- <link rel="prev" href="rep_base_meth.html" title="Base API Methods" />
+ <link rel="prev" href="rep_base_meth.html" title="Base API methods" />
<link rel="next" href="rep_newsite.html" title="Connecting to a new site" />
</head>
<body>
<div xmlns="" class="navheader">
<div class="libver">
- <p>Library Version 11.2.5.3</p>
+ <p>Library Version 12.1.6.1</p>
</div>
<table width="100%" summary="Navigation header">
<tr>
@@ -22,9 +22,7 @@
</tr>
<tr>
<td width="20%" align="left"><a accesskey="p" href="rep_base_meth.html">Prev</a> </td>
- <th width="60%" align="center">Chapter 12. 
- Berkeley DB Replication
- </th>
+ <th width="60%" align="center">Chapter 12.  Berkeley DB Replication </th>
<td width="20%" align="right"> <a accesskey="n" href="rep_newsite.html">Next</a></td>
</tr>
</table>
@@ -38,47 +36,61 @@
</div>
</div>
</div>
- <p>Replication Manager provides a built-in communications
-infrastructure.</p>
- <p>Base API applications must provide
-their own communications infrastructure, which is typically written with one
-or more threads of control looping on one or more communication
-channels, receiving and sending messages. These threads accept messages
-from remote environments for the local database environment, and accept
-messages from the local environment for remote environments. Messages
-from remote environments are passed to the local database environment
-using the <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> method. Messages from the local environment are
-passed to the application for transmission using the callback function
-specified to the <a href="../api_reference/C/reptransport.html" class="olink">DB_ENV-&gt;rep_set_transport()</a> method.</p>
- <p>Processes establish communication channels by calling the
-<a href="../api_reference/C/reptransport.html" class="olink">DB_ENV-&gt;rep_set_transport()</a> method, regardless of whether they are running in
-client or server environments. This method specifies the <span class="bold"><strong>send</strong></span>
-function, a callback function used by Berkeley DB for sending messages to
-other database environments in the replication group. The <span class="bold"><strong>send</strong></span>
-function takes an environment ID and two opaque data objects. It is the
-responsibility of the <span class="bold"><strong>send</strong></span> function to transmit the information
-in the two data objects to the database environment corresponding to the
-ID, with the receiving application then calling the <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> method
-to process the message.</p>
- <p>The details of the transport mechanism are left entirely to the
-application; the only requirement is that the data buffer and size of
-each of the control and rec <a href="../api_reference/C/dbt.html" class="olink">DBT</a>s passed to the <span class="bold"><strong>send</strong></span>
-function on the sending site be faithfully copied and delivered to the
-receiving site by means of a call to <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> with
-corresponding arguments. Messages that are broadcast (whether by
-broadcast media or when directed by setting the
-<a href="../api_reference/C/reptransport.html" class="olink">DB_ENV-&gt;rep_set_transport()</a> method's envid parameter DB_EID_BROADCAST), should
-not be processed by the message sender. In all cases, the application's
-transport media or software must ensure that <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> is
-never called with a message intended for a different database
-environment or a broadcast message sent from the same environment on
-which <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> will be called.
-The <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> method is
-free-threaded; it is safe to deliver any number of messages
-simultaneously, and from any arbitrary thread or process in the Berkeley DB
-environment.</p>
- <p>There are a number of informational returns from the
-<a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> method:</p>
+ <p>
+ Replication Manager provides a built-in communications
+ infrastructure.
+ </p>
+ <p>
+ Base API applications must provide their own communications
+ infrastructure, which is typically written with one or more
+ threads of control looping on one or more communication
+ channels, receiving and sending messages. These threads accept
+ messages from remote environments for the local database
+ environment, and accept messages from the local environment
+ for remote environments. Messages from remote environments are
+ passed to the local database environment using the
+ <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> method. Messages from the local environment are
+ passed to the application for transmission using the callback
+ function specified to the <a href="../api_reference/C/reptransport.html" class="olink">DB_ENV-&gt;rep_set_transport()</a> method.
+ </p>
+ <p>
+ Processes establish communication channels by calling the
+ <a href="../api_reference/C/reptransport.html" class="olink">DB_ENV-&gt;rep_set_transport()</a> method, regardless of whether they are running
+ in client or server environments. This method specifies the
+ <span class="bold"><strong>send</strong></span> function, a callback
+ function used by Berkeley DB for sending messages to other
+ database environments in the replication group. The <span class="bold"><strong>send</strong></span> function takes an environment
+ ID and two opaque data objects. It is the responsibility of
+ the <span class="bold"><strong>send</strong></span> function to transmit
+ the information in the two data objects to the database
+ environment corresponding to the ID, with the receiving
+ application then calling the <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> method to process
+ the message.
+ </p>
+ <p>
+ The details of the transport mechanism are left entirely to
+ the application; the only requirement is that the data buffer
+ and size of each of the control and rec <a href="../api_reference/C/dbt.html" class="olink">DBT</a>s passed to the
+ <span class="bold"><strong>send</strong></span> function on the
+ sending site be faithfully copied and delivered to the
+ receiving site by means of a call to <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> with
+ corresponding arguments. Messages that are broadcast (whether
+ by broadcast media or when directed by setting the
+ <a href="../api_reference/C/reptransport.html" class="olink">DB_ENV-&gt;rep_set_transport()</a> method's envid parameter DB_EID_BROADCAST),
+ should not be processed by the message sender. In all cases,
+ the application's transport media or software must ensure that
+ <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> is never called with a message intended for a
+ different database environment or a broadcast message sent
+ from the same environment on which <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> will be
+ called. The <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> method is free-threaded; it is safe
+ to deliver any number of messages simultaneously, and from any
+ arbitrary thread or process in the Berkeley DB
+ environment.
+ </p>
+ <p>
+ There are a number of informational returns from the
+ <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> method:
+ </p>
<div class="variablelist">
<dl>
<dt>
@@ -87,15 +99,16 @@ environment.</p>
</span>
</dt>
<dd>
- <p>
- When <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> returns <a href="../api_reference/C/repmessage.html#repmsg_DB_REP_DUPMASTER" class="olink">DB_REP_DUPMASTER</a>, it means that
- another database environment in the replication group also
- believes itself to be the master. The application should
- complete all active transactions, close all open database
- handles, reconfigure itself as a client using the
- <a href="../api_reference/C/repstart.html" class="olink">DB_ENV-&gt;rep_start()</a> method, and then call for an election by calling
- the <a href="../api_reference/C/repelect.html" class="olink">DB_ENV-&gt;rep_elect()</a> method.
- </p>
+ <p>
+ When <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> returns <a href="../api_reference/C/repmessage.html#repmsg_DB_REP_DUPMASTER" class="olink">DB_REP_DUPMASTER</a>,
+ it means that another database environment in the
+ replication group also believes itself to be the
+ master. The application should complete all active
+ transactions, close all open database handles,
+ reconfigure itself as a client using the
+ <a href="../api_reference/C/repstart.html" class="olink">DB_ENV-&gt;rep_start()</a> method, and then call for an election
+ by calling the <a href="../api_reference/C/repelect.html" class="olink">DB_ENV-&gt;rep_elect()</a> method.
+ </p>
</dd>
<dt>
<span class="term">
@@ -103,12 +116,13 @@ environment.</p>
</span>
</dt>
<dd>
- <p>
- When <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> returns <a href="../api_reference/C/repmessage.html#repmsg_DB_REP_HOLDELECTION" class="olink">DB_REP_HOLDELECTION</a>, it means that
- another database environment in the replication group has
- called for an election. The application should call the
- <a href="../api_reference/C/repelect.html" class="olink">DB_ENV-&gt;rep_elect()</a> method.
- </p>
+ <p>
+ When <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> returns
+ <a href="../api_reference/C/repmessage.html#repmsg_DB_REP_HOLDELECTION" class="olink">DB_REP_HOLDELECTION</a>, it means that another
+ database environment in the replication group has
+ called for an election. The application should
+ call the <a href="../api_reference/C/repelect.html" class="olink">DB_ENV-&gt;rep_elect()</a> method.
+ </p>
</dd>
<dt>
<span class="term">
@@ -116,13 +130,13 @@ environment.</p>
</span>
</dt>
<dd>
- <p>
- When <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> returns <a href="../api_reference/C/repmessage.html#repmsg_DB_REP_IGNORE" class="olink">DB_REP_IGNORE</a>, it means that this
- message cannot be processed. This is normally an indication
- that this message is irrelevant to the current replication
- state, such as a message from an old generation that arrived
- late.
- </p>
+ <p>
+ When <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> returns <a href="../api_reference/C/repmessage.html#repmsg_DB_REP_IGNORE" class="olink">DB_REP_IGNORE</a>, it
+ means that this message cannot be processed. This
+ is normally an indication that this message is
+ irrelevant to the current replication state, such
+ as a message from an old master that arrived late.
+ </p>
</dd>
<dt>
<span class="term">
@@ -131,13 +145,14 @@ environment.</p>
</dt>
<dd>
<p>
- When <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> returns <a href="../api_reference/C/repmessage.html#repmsg_DB_REP_ISPERM" class="olink">DB_REP_ISPERM</a>, it means a permanent
- record, perhaps a message previously returned as
- <a href="../api_reference/C/repmessage.html#repmsg_DB_REP_NOTPERM" class="olink">DB_REP_NOTPERM</a>, was successfully written to disk. This
- record may have filled a gap in the log record that allowed
- additional records to be written. The <span class="bold"><strong>ret_lsnp</strong></span> contains the maximum LSN of
- the permanent records written.
- </p>
+ When <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> returns <a href="../api_reference/C/repmessage.html#repmsg_DB_REP_ISPERM" class="olink">DB_REP_ISPERM</a>, it
+ means a permanent record, perhaps a message
+ previously returned as <a href="../api_reference/C/repmessage.html#repmsg_DB_REP_NOTPERM" class="olink">DB_REP_NOTPERM</a>, was
+ successfully written to disk. This record may have
+ filled a gap in the log record that allowed
+ additional records to be written. The <span class="bold"><strong>ret_lsnp</strong></span> contains the
+ maximum LSN of the permanent records written.
+ </p>
</dd>
<dt>
<span class="term">
@@ -146,12 +161,13 @@ environment.</p>
</dt>
<dd>
<p>
- When <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> returns <a href="../api_reference/C/repmessage.html#repmsg_DB_REP_NEWSITE" class="olink">DB_REP_NEWSITE</a>, it means that a
- message from a previously unknown member of the replication
- group has been received. The application should reconfigure
- itself as necessary so it is able to send messages to this
- site.
- </p>
+ When <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> returns <a href="../api_reference/C/repmessage.html#repmsg_DB_REP_NEWSITE" class="olink">DB_REP_NEWSITE</a>, it
+ means that a message from a previously unknown
+ member of the replication group has been received.
+ The application should reconfigure itself as
+ necessary so it is able to send messages to this
+ site.
+ </p>
</dd>
<dt>
<span class="term">
@@ -160,16 +176,19 @@ environment.</p>
</dt>
<dd>
<p>
- When <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> returns <a href="../api_reference/C/repmessage.html#repmsg_DB_REP_NOTPERM" class="olink">DB_REP_NOTPERM</a>, it means a message
- marked as <a href="../api_reference/C/reptransport.html#transport_DB_REP_PERMANENT" class="olink">DB_REP_PERMANENT</a> was processed successfully but was not
- written to disk. This is normally an indication that one or
- more messages, which should have arrived before this message,
- have not yet arrived. This operation will be written to disk
- when the missing messages arrive. The <span class="bold"><strong>ret_lsnp</strong></span> argument will contain the
- LSN of this record. The application should take whatever
- action is deemed necessary to retain its recoverability
- characteristics.
- </p>
+ When <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV-&gt;rep_process_message()</a> returns <a href="../api_reference/C/repmessage.html#repmsg_DB_REP_NOTPERM" class="olink">DB_REP_NOTPERM</a>, it
+ means a message marked as <a href="../api_reference/C/reptransport.html#transport_DB_REP_PERMANENT" class="olink">DB_REP_PERMANENT</a> was
+ processed successfully but was not written to
+ disk. This is normally an indication that one or
+ more messages, which should have arrived before
+ this message, have not yet arrived. This operation
+ will be written to disk when the missing messages
+ arrive. The <span class="bold"><strong>ret_lsnp</strong></span> argument
+ will contain the
+ LSN of this record. The application should take
+ whatever action is deemed necessary to retain its
+ recoverability characteristics.
+ </p>
</dd>
</dl>
</div>
@@ -185,7 +204,7 @@ environment.</p>
<td width="40%" align="right"> <a accesskey="n" href="rep_newsite.html">Next</a></td>
</tr>
<tr>
- <td width="40%" align="left" valign="top">Base API Methods </td>
+ <td width="40%" align="left" valign="top">Base API methods </td>
<td width="20%" align="center">
<a accesskey="h" href="index.html">Home</a>
</td>