mirror of
https://github.com/yasuhirokimura/db18
synced 2026-06-08 18:29:23 +00:00
210 lines
9.5 KiB
HTML
210 lines
9.5 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 18.1.40</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>
|
||
Base API applications may configure one or more view sites.
|
||
A view is a full or partial copy of the replicated data that
|
||
does not otherwise participate in the replication group. For
|
||
more information, see <a class="xref" href="rep_partview.html" title="Replication views">Replication views</a>.
|
||
</p>
|
||
<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>
|