3 vtsrvhello, vtlisten, vtgetreq, vtrespond \- Venti server
24 int vtsrvhello(VtConn *z)
27 VtSrv* vtlisten(char *addr)
30 VtReq* vtgetreq(VtSrv *srv)
33 void vtrespond(VtReq *req)
35 These routines execute the server side of the
40 executes the server side of the initial
45 with the user name claimed by the other side.
46 Each new connection must be initialized by running
50 The framework below takes care of this detail automatically;
52 is provided for programs that do not use the functions below.
58 provide a simple framework for writing Venti servers.
61 announces at the network address
65 structure representing the service.
75 request from any client connected to
81 messages are handled internally and not returned to the client.
82 The interface does not distinguish between the
83 different clients that may be connected at any given time.
84 The request can be found in the
89 Once a request has been served and a response stored in
91 the server should call
93 to send the response to the client.
97 as well as the packets
103 contains two simple Venti servers
107 written using these routines.
109 is a read-only Venti proxy (it rejects
113 is a dangerous write-only Venti server: it discards all
114 blocks written to it and returns error on all reads.
120 .IR venti-packet (3),