venti man page on Inferno

Man page or keyword search:  
man Server   579 pages
apropos Keyword Search (all sections)
Output format
Inferno logo
[printable version]

VENTI(2)							      VENTI(2)

NAME
       Venti - access to Venti content-addressed filestore.

SYNOPSIS
       include "venti.m";
       venti := load Venti Venti->PATH;
       Session: import venti;

       init:		   fn();

       Session: adt {
	    new:      fn(fd: ref Sys->FD): ref Session;
	    read:	   fn(s: self ref Session, score: Venti->Score, etype: int, maxn: int): array of byte;
	    write:    fn(s: self ref Session, etype: int, buf: array of byte): (int, Venti->Score);
	    sync:     fn(s: self ref Session): int;
       };

       Score: adt {
	    a: array of byte;
	    eq:	      fn(a: self Score, b: Score): int;
	    text:	   fn(a: self Score): string;
	    parse:    fn(s: string): (int, Score);
	    zero:	   fn(): Score;
       };

DESCRIPTION
       Venti  is  a  block  storage server intended for archival applications.
       The Venti module provides low-level access to a Venti server.  The mod‐
       ule assumes that the physical connection to the server has already been
       established (for example, by dial(2)).  On a Venti server, a  block  is
       addressed  by  the  SHA1 hash of the contents of that block, known as a
       score, and represented as a Score adt.  Blocks are additionally	tagged
       with  a type, facilitating recovery in the event of corruption.	A Ses‐
       sion represents a session with a Venti server.

       s.new(fd)
	      New performs  the	 initial  handshake  with  the	Venti  server,
	      returning established Session.

       s.read(score, etype, maxn)
	      Read  tries to retrieve the block corresponding to score, and of
	      type etype.  The block must be no longer than maxn bytes.	 Etype
	      is  conventionally  one  of  the	constants  Roottype,  Dirtype,
	      Datatype or Pointertype[0-9], where the  different  Pointertypes
	      represent different depth levels within a Venti tree.

       s.write(etype, buf)
	      Write  writes  the  data	in buf to the Venti server.  The block
	      will be tagged  with  type  etype.   It  returns	a  tuple,  say
	      (ok, score);  on	error,	ok  is -1, otherwise ok is 0 and score
	      contains the Venti score for the block that has been written.

       s.sync()
	      Sync tells the Venti server to make sure that all data  is  com‐
	      mitted to active storage.

SOURCE
       /module/venti.m
       /appl/lib/venti.b

BUGS
								      VENTI(2)
[top]

List of man pages available for Inferno

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net