mirror of
https://github.com/berkeleydb/libdb.git
synced 2024-11-16 09:06:25 +00:00
191 lines
8.6 KiB
HTML
191 lines
8.6 KiB
HTML
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
<html xmlns="http://www.w3.org/1999/xhtml">
|
||
<head>
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||
<title>Base API Methods</title>
|
||
<link rel="stylesheet" href="gettingStarted.css" type="text/css" />
|
||
<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_mgr_meth.html" title="Replication Manager methods" />
|
||
<link rel="next" href="rep_comm.html" title="Building the communications infrastructure" />
|
||
</head>
|
||
<body>
|
||
<div xmlns="" class="navheader">
|
||
<div class="libver">
|
||
<p>Library Version 11.2.5.3</p>
|
||
</div>
|
||
<table width="100%" summary="Navigation header">
|
||
<tr>
|
||
<th colspan="3" align="center">Base API Methods</th>
|
||
</tr>
|
||
<tr>
|
||
<td width="20%" align="left"><a accesskey="p" href="rep_mgr_meth.html">Prev</a> </td>
|
||
<th width="60%" align="center">Chapter 12.
|
||
Berkeley DB Replication
|
||
</th>
|
||
<td width="20%" align="right"> <a accesskey="n" href="rep_comm.html">Next</a></td>
|
||
</tr>
|
||
</table>
|
||
<hr />
|
||
</div>
|
||
<div class="sect1" lang="en" xml:lang="en">
|
||
<div class="titlepage">
|
||
<div>
|
||
<div>
|
||
<h2 class="title" style="clear: both"><a id="rep_base_meth"></a>Base API Methods</h2>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<p>Base API applications use the following
|
||
Berkeley DB methods.</p>
|
||
<div class="variablelist">
|
||
<dl>
|
||
<dt>
|
||
<span class="term">
|
||
<a href="../api_reference/C/reptransport.html" class="olink">DB_ENV->rep_set_transport()</a>
|
||
</span>
|
||
</dt>
|
||
<dd>
|
||
<p>
|
||
The <a href="../api_reference/C/reptransport.html" class="olink">DB_ENV->rep_set_transport()</a> method configures the replication system's
|
||
communications infrastructure.
|
||
</p>
|
||
</dd>
|
||
<dt>
|
||
<span class="term">
|
||
<a href="../api_reference/C/repstart.html" class="olink">DB_ENV->rep_start()</a>
|
||
</span>
|
||
</dt>
|
||
<dd>
|
||
<p>
|
||
The <a href="../api_reference/C/repstart.html" class="olink">DB_ENV->rep_start()</a> method configures (or reconfigures) an existing database
|
||
environment to be a replication master or client.
|
||
</p>
|
||
</dd>
|
||
<dt>
|
||
<span class="term">
|
||
<a href="../api_reference/C/repmessage.html" class="olink">DB_ENV->rep_process_message()</a>
|
||
</span>
|
||
</dt>
|
||
<dd>
|
||
<p>
|
||
The <a href="../api_reference/C/repmessage.html" class="olink">DB_ENV->rep_process_message()</a> method is used to process incoming messages
|
||
from other environments in the replication group. For clients,
|
||
it is responsible for accepting log records and updating the
|
||
local databases based on messages from the master. For both
|
||
the master and the clients, it is responsible for handling
|
||
administrative functions (for example, the protocol for dealing
|
||
with lost messages), and permitting new clients to join an
|
||
active replication group. This method should only be called
|
||
after the replication system's communications infrastructure
|
||
has been configured via <a href="../api_reference/C/reptransport.html" class="olink">DB_ENV->rep_set_transport()</a>.
|
||
</p>
|
||
</dd>
|
||
<dt>
|
||
<span class="term">
|
||
<a href="../api_reference/C/repelect.html" class="olink">DB_ENV->rep_elect()</a>
|
||
</span>
|
||
</dt>
|
||
<dd>
|
||
<p>
|
||
The <a href="../api_reference/C/repelect.html" class="olink">DB_ENV->rep_elect()</a> method causes the replication group to elect a
|
||
new master; it is called whenever contact with the master is
|
||
lost and the application wants the remaining sites to select a
|
||
new master.
|
||
</p>
|
||
</dd>
|
||
<dt>
|
||
<span class="term">
|
||
<a href="../api_reference/C/envevent_notify.html" class="olink">DB_ENV->set_event_notify()</a>
|
||
</span>
|
||
</dt>
|
||
<dd>
|
||
<p>
|
||
The <a href="../api_reference/C/envevent_notify.html" class="olink">DB_ENV->set_event_notify()</a> method is needed for applications to
|
||
discover important replication-related events, such as the
|
||
result of an election and appointment of a new master.
|
||
</p>
|
||
</dd>
|
||
<dt>
|
||
<span class="term">
|
||
<a href="../api_reference/C/reppriority.html" class="olink">DB_ENV->rep_set_priority()</a>
|
||
</span>
|
||
</dt>
|
||
<dd>
|
||
<p>
|
||
The <a href="../api_reference/C/reppriority.html" class="olink">DB_ENV->rep_set_priority()</a> method configures the local site's priority for
|
||
the purpose of elections.
|
||
</p>
|
||
</dd>
|
||
<dt>
|
||
<span class="term">
|
||
<a href="../api_reference/C/repset_timeout.html" class="olink">DB_ENV->rep_set_timeout()</a>
|
||
</span>
|
||
</dt>
|
||
<dd>
|
||
<p>
|
||
This method optionally configures various timeout values. Otherwise
|
||
default timeout values as specified in <a href="../api_reference/C/repset_timeout.html" class="olink">DB_ENV->rep_set_timeout()</a> are
|
||
used.
|
||
</p>
|
||
</dd>
|
||
<dt>
|
||
<span class="term">
|
||
<a href="../api_reference/C/repset_limit.html" class="olink">DB_ENV->rep_set_limit()</a>
|
||
</span>
|
||
</dt>
|
||
<dd>
|
||
<p>
|
||
The <a href="../api_reference/C/repset_limit.html" class="olink">DB_ENV->rep_set_limit()</a> method imposes an upper bound on the amount of
|
||
data that will be sent in response to a single call to
|
||
<a href="../api_reference/C/repmessage.html" class="olink">DB_ENV->rep_process_message()</a>. During client recovery, that is, when a replica
|
||
site is trying to synchronize with the master, clients may ask
|
||
the master for a large number of log records. If it is going
|
||
to harm an application for the master message loop to remain
|
||
busy for an extended period transmitting records to the
|
||
replica, then the application will want to use <a href="../api_reference/C/repset_limit.html" class="olink">DB_ENV->rep_set_limit()</a> to
|
||
limit the amount of data the master will send before
|
||
relinquishing control and accepting other messages.
|
||
</p>
|
||
</dd>
|
||
<dt>
|
||
<span class="term">
|
||
<a href="../api_reference/C/repset_request.html" class="olink">DB_ENV->rep_set_request()</a>
|
||
</span>
|
||
</dt>
|
||
<dd>
|
||
<p>
|
||
This method sets a threshold for the minimum and maximum time that
|
||
a client waits before requesting retransmission of a missing
|
||
message.
|
||
</p>
|
||
</dd>
|
||
</dl>
|
||
</div>
|
||
<p>In addition to the methods previously described, Base API applications
|
||
may also call the following methods, as needed:
|
||
<a href="../api_reference/C/repstat.html" class="olink">DB_ENV->rep_stat()</a>, <a href="../api_reference/C/repsync.html" class="olink">DB_ENV->rep_sync()</a> and <a href="../api_reference/C/repconfig.html" class="olink">DB_ENV->rep_set_config()</a>.</p>
|
||
</div>
|
||
<div class="navfooter">
|
||
<hr />
|
||
<table width="100%" summary="Navigation footer">
|
||
<tr>
|
||
<td width="40%" align="left"><a accesskey="p" href="rep_mgr_meth.html">Prev</a> </td>
|
||
<td width="20%" align="center">
|
||
<a accesskey="u" href="rep.html">Up</a>
|
||
</td>
|
||
<td width="40%" align="right"> <a accesskey="n" href="rep_comm.html">Next</a></td>
|
||
</tr>
|
||
<tr>
|
||
<td width="40%" align="left" valign="top">Replication Manager methods </td>
|
||
<td width="20%" align="center">
|
||
<a accesskey="h" href="index.html">Home</a>
|
||
</td>
|
||
<td width="40%" align="right" valign="top"> Building the communications infrastructure</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
</body>
|
||
</html>
|