Subject: CVS commit: src/lib/libpuffs
To: None <source-changes@NetBSD.org>
From: Antti Kantee <pooka@netbsd.org>
List: source-changes
Date: 05/05/2007 15:48:18
Module Name:	src
Committed By:	pooka
Date:		Sat May  5 15:48:18 UTC 2007

Modified Files:
	src/lib/libpuffs: Makefile puffs.h puffs_priv.h
Added Files:
	src/lib/libpuffs: framebuf.c

Log Message:
Add puffs "frame buffers", which are an abstraction of the buffering
and event handling mechanisms required in file servers with blocking
I/O backends.  puffs_framebuf is built on the concept of puffs_cc
and uses those to multiplex execution where needed.

File systems are required to implement three methods:
  * read frame
  * write frame
  * compare if frame is a response to the given one

Memory management is provided by puffs_framebuf, but the file
systems must still, of course, interpret the protocol and do e.g.
byte order conversion.

As always, puffs_framebuf is work in progress.  Current users are
mount_psshfs and mount_9p.


To generate a diff of this commit:
cvs rdiff -r1.15 -r1.16 src/lib/libpuffs/Makefile
cvs rdiff -r0 -r1.1 src/lib/libpuffs/framebuf.c
cvs rdiff -r1.49 -r1.50 src/lib/libpuffs/puffs.h
cvs rdiff -r1.6 -r1.7 src/lib/libpuffs/puffs_priv.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.