<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2-ppt DokuWiki" -->
<?xml-stylesheet href="http://www.okws.org/lib/exe/css.php?s=feed" type="text/css"?>
<rdf:RDF
    xmlns="http://purl.org/rss/1.0/"
    xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
    xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
    xmlns:dc="http://purl.org/dc/elements/1.1/">
    <channel rdf:about="http://www.okws.org/feed.php">
        <title>OKWS sfslite</title>
        <description></description>
        <link>http://www.okws.org/</link>
        <image rdf:resource="http://www.okws.org/lib/images/favicon.ico" />
       <dc:date>2010-09-09T09:50:54+00:00</dc:date>
        <items>
            <rdf:Seq>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=sfslite:freebsdporttips&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=sfslite:install&amp;rev=1241542494&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=sfslite:nfs&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=sfslite:overview&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=sfslite:qhash&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=sfslite:regexp&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=sfslite:tame2&amp;rev=1282248453&amp;do=diff"/>
                <rdf:li rdf:resource="http://www.okws.org/doku.php?id=sfslite:tips&amp;rev=1282248453&amp;do=diff"/>
            </rdf:Seq>
        </items>
    </channel>
    <image rdf:about="http://www.okws.org/lib/images/favicon.ico">
        <title>OKWS</title>
        <link>http://www.okws.org/</link>
        <url>http://www.okws.org/lib/images/favicon.ico</url>
    </image>
    <item rdf:about="http://www.okws.org/doku.php?id=sfslite:freebsdporttips&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>sfslite:freebsdporttips</title>
        <link>http://www.okws.org/doku.php?id=sfslite:freebsdporttips&amp;rev=1282248453&amp;do=diff</link>
        <description>How To Update the FreeBSD Port

	*  cp -r sfslite sfslite.orig
	*  Change the Makefile to reflect new version
	*  Change pkg-plist if there are new files, etc.
	*  Run 'make makesum' to make a new checksum file.
	*  cd /usr/ports; diff -urN devel/sfslite.orig devel/sfslite &gt; /tmp/sfslite-patch
	*  run 'send-pr' with Category:ports and Class:maintainter-upgrade
	*  Attach the patch as the body of the PR
	*  send</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=sfslite:install&amp;rev=1241542494&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2009-05-05T16:54:54+00:00</dc:date>
        <title>sfslite:install</title>
        <link>http://www.okws.org/doku.php?id=sfslite:install&amp;rev=1241542494&amp;do=diff</link>
        <description>I used to maintain FreeBSD ports for sfslite but have had trouble submitting patches that pass all 64-bit tests, etc.  If you want to help me update the port, please let me know.  Instructions are still included for the FreeBSD port.

Dependencies


sfslite depends on GMP</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=sfslite:nfs&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>sfslite:nfs</title>
        <link>http://www.okws.org/doku.php?id=sfslite:nfs&amp;rev=1282248453&amp;do=diff</link>
        <description>SFS includes support for making it pretty easy to write NFS servers in user space.

The NFS protocol as used by SFS is almost literally taken from RFC1813 specifying
NFSv3.  The actual XDR file is available in svc/nfs_prot.x

Protocol handling


XDR allows object pointers; NFS occasionally uses this.  For example, in
replying to a READDIR RPC:</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=sfslite:overview&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>sfslite:overview</title>
        <link>http://www.okws.org/doku.php?id=sfslite:overview&amp;rev=1282248453&amp;do=diff</link>
        <description>The core of the SFS programming libraries.  sfslite as many useful components for simplifying the development of event-driven network programs in C++.  

sfslite and the SFS libraries are also known as libasync, which is somewhat of a misnomer, since the sfslite/SFS suite contain libasync in addition to other libraries.</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=sfslite:qhash&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>sfslite:qhash</title>
        <link>http://www.okws.org/doku.php?id=sfslite:qhash&amp;rev=1282248453&amp;do=diff</link>
        <description>Create and Insert


Let's deal with the case of a map from key_t to refcounted pointers of type value_t, which will look like this:


qhash&lt;key_t, ptr&lt;value_t&gt; &gt; hash;
hash.insert (key_t (0), NULL);
hash.insert (key_t (1), New refcounted&lt;value_t&gt; (&quot;v1&quot;));</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=sfslite:regexp&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>sfslite:regexp</title>
        <link>http://www.okws.org/doku.php?id=sfslite:regexp&amp;rev=1282248453&amp;do=diff</link>
        <description>#include &quot;rxx.h&quot;


SFS regular expressions are based on Perl Compliant Regular Expressions (PCRE).

Initialization


Include the regular expression string in the initializer.  Your C compiler will interpret '\' as an escape character within the scope of the string, so if you use any in the regular expression, be sure to use '\\':</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=sfslite:tame2&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>sfslite:tame2</title>
        <link>http://www.okws.org/doku.php?id=sfslite:tame2&amp;rev=1282248453&amp;do=diff</link>
        <description>tame is a generic tool for simplifying SFS/sfslite sfslite programming,
useful with OKWS, but also for any other sfslite-based
application.  It is available under the sfslite distribution.
tame is a simple C++-level rewriter.  Input files look a lot like
regular C++ files, with some small modifications.  Output files are
standard C++ files that are then compiled and linked against the
libasync libraries to produce your library or application.  Files
generated with tame can call legacy libasync a…</description>
    </item>
    <item rdf:about="http://www.okws.org/doku.php?id=sfslite:tips&amp;rev=1282248453&amp;do=diff">
        <dc:format>text/html</dc:format>
        <dc:date>2010-08-19T20:07:33+00:00</dc:date>
        <title>sfslite:tips</title>
        <link>http://www.okws.org/doku.php?id=sfslite:tips&amp;rev=1282248453&amp;do=diff</link>
        <description>Material in this section is largely derived from questions asked by students
taking 6.824 and other associated course material.

Strings


The str class implements constant, garbage-collected (reference counted) variable-length strings. The constructor str(“xxxx”) creates a new str object initialized from the C string “xxxx”. The method cstr() returns a pointer co char that holds the contents of the str object. Equality with == is defined on str objects, and returns true iff the two strings cont…</description>
    </item>
</rdf:RDF>
