Sophie

Sophie

distrib > Mandriva > 8.2 > i586 > media > contrib > by-pkgid > 211238da6d926d1ca4390483bb29f586 > files > 83

coda-doc-5.2.0-4mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>The Coda File Server: Callback management in the server </TITLE>
 <LINK HREF="server-2.html" REL=next>

 <LINK HREF="server.html#toc1" REL=contents>
</HEAD>
<BODY>
<A HREF="server-2.html">Next</A>
Previous
<A HREF="server.html#toc1">Contents</A>
<HR>
<H2><A NAME="s1">1. Callback management in the server </A></H2>

<P>
<P>This code is in <CODE>vicecb.cc</CODE>. 
<P>The file server keeps a table of hosts that are up, see the section on
connection handling.  Each time a call back is granted to a client, a
file entry is entered in the hash table.  When the file is modified,
all clients holding the callback are notified.
<P>Callback management handles a hash table for FileEntry's and for
CallBackEntry's.  A CallBackEntry is attached/removed to each
FileEntry as needed. 
<P>A CallBackEntry contains a pointer to the host HostTable (the host
(vicedep/srv.h) so that the host to notify can be found back. All
structures are managed in VM.  For locality of referenence, CallBacks
and FileEntry are allocated in blocks. Routines are present to delete
the callbacks for a Fid, or to remove all backbacks for a Venus which
has failed.
<P>
<HR>
<A HREF="server-2.html">Next</A>
Previous
<A HREF="server.html#toc1">Contents</A>
</BODY>
</HTML>