~ubuntu-branches/ubuntu/maverick/evolution-data-server/maverick-proposed

« back to all changes in this revision

Viewing changes to libdb/docs/ref/rpc/server.html

  • Committer: Bazaar Package Importer
  • Author(s): Didier Roche
  • Date: 2010-05-17 17:02:06 UTC
  • mfrom: (1.1.79 upstream) (1.6.12 experimental)
  • Revision ID: james.westby@ubuntu.com-20100517170206-4ufr52vwrhh26yh0
Tags: 2.30.1-1ubuntu1
* Merge from debian experimental. Remaining change:
  (LP: #42199, #229669, #173703, #360344, #508494)
  + debian/control:
    - add Vcs-Bzr tag
    - don't use libgnome
    - Use Breaks instead of Conflicts against evolution 2.25 and earlier.
  + debian/evolution-data-server.install,
    debian/patches/45_libcamel_providers_version.patch:
    - use the upstream versioning, not a Debian-specific one 
  + debian/libedata-book1.2-dev.install, debian/libebackend-1.2-dev.install,
    debian/libcamel1.2-dev.install, debian/libedataserverui1.2-dev.install:
    - install html documentation
  + debian/rules:
    - don't build documentation it's shipped with the tarball

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<!--$Id$-->
2
 
<!--Copyright 1997-2002 by Sleepycat Software, Inc.-->
3
 
<!--All rights reserved.-->
4
 
<!--See the file LICENSE for redistribution information.-->
5
 
<html>
6
 
<head>
7
 
<title>Berkeley DB Reference Guide: Server program</title>
8
 
<meta name="description" content="Berkeley DB: An embedded database programmatic toolkit.">
9
 
<meta name="keywords" content="embedded,database,programmatic,toolkit,b+tree,btree,hash,hashing,transaction,transactions,locking,logging,access method,access methods,java,C,C++">
10
 
</head>
11
 
<body bgcolor=white>
12
 
<a name="2"><!--meow--></a>
13
 
<table width="100%"><tr valign=top>
14
 
<td><h3><dl><dt>Berkeley DB Reference Guide:<dd>RPC Client/Server</dl></h3></td>
15
 
<td align=right><a href="../../ref/rpc/client.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../reftoc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/rpc/faq.html"><img src="../../images/next.gif" alt="Next"></a>
16
 
</td></tr></table>
17
 
<p>
18
 
<h1 align=center>Server program</h1>
19
 
<p>The Berkeley DB server utility, <a href="../../utility/berkeley_db_svc.html">berkeley_db_svc</a>, handles all the
20
 
client application requests.
21
 
<p>Currently, the <a href="../../utility/berkeley_db_svc.html">berkeley_db_svc</a> utility is single-threaded,
22
 
limiting the number of requests that it can handle.  Modifying the
23
 
server implementation to run in multithread or multiprocess mode
24
 
requires modification of the server code automatically generated by the
25
 
rpcgen program.
26
 
<p>There are two different types of timeouts used by <a href="../../utility/berkeley_db_svc.html">berkeley_db_svc</a>.
27
 
The first timeout (which can be modified within some constraints by the
28
 
client application), is the resource timeout.  When clients use
29
 
transactions or cursors, those resources hold locks in Berkeley DB across calls
30
 
to the server.  If a client application dies or loses its connection to
31
 
the server while holding those resources, it prevents any other client
32
 
from acquiring them.  Therefore, it is important to detect that a client
33
 
has not used a resource for some period of time and release them.  In the
34
 
case of transactions, the server aborts the transaction.  In the case of
35
 
cursors, the server closes the cursor.
36
 
<p>The second timeout is an idle timeout.  A client application may remain
37
 
idle with an open handle to an environment and a database.  Doing so
38
 
simply consumes some memory; it does not hold locks.  However, the Berkeley DB
39
 
server may want to eventually reclaim resources if a client dies or
40
 
remains disconnected for a long period of time, so there is a separate
41
 
idle timeout for open Berkeley DB handles.
42
 
<p>The list of home directories specified to <a href="../../utility/berkeley_db_svc.html">berkeley_db_svc</a> are
43
 
the only ones client applications are allowed to use.  When
44
 
<a href="../../utility/berkeley_db_svc.html">berkeley_db_svc</a> is started, it is given a list of pathnames.
45
 
Clients are expected to specify the name of the home directory (defined
46
 
as the last component in the directory pathname) as the database
47
 
environment they are opening.  In this manner, clients need to know only
48
 
the name of their home environment; not its full pathname on the server
49
 
machine.  This means, of course, that only one environment of a
50
 
particular name is allowed on the server at any given time.
51
 
<table width="100%"><tr><td><br></td><td align=right><a href="../../ref/rpc/client.html"><img src="../../images/prev.gif" alt="Prev"></a><a href="../../reftoc.html"><img src="../../images/ref.gif" alt="Ref"></a><a href="../../ref/rpc/faq.html"><img src="../../images/next.gif" alt="Next"></a>
52
 
</td></tr></table>
53
 
<p><font size=1><a href="http://www.sleepycat.com">Copyright Sleepycat Software</a></font>
54
 
</body>
55
 
</html>