On Nov 1, 2007, at 9:26 AM, Sape Mullender wrote:
One could have only client-server-client calls like this:

Tcache  asks whether the server is prepared to cache
Rcache  makes lease available with parameters, Rerror says no.

Tlease  says, ok start my lease now (almost immediately follows Rache)
Rlease  lease expired or lease needs to be given back early

Tcache  done with old lease (may immediately ask for a new lease)
etc.

So Tcache serves two purposes: it gives up an old lease if one existed
and immediately asks for a new one if one is needed.

This might give all the functionality we need without using callbacks.
(Of course, the client still needs a proc waiting for that Rlease while
doing its reads and writes).

In the case of read cache (which is probably going to be used more often than write-cache), the client needs to send two RPC every time a writer modifies the cached file. What if Rlease doesn't necessary break the lease, but have an option (negotiated in Tcache) to let the client know that the file is changed without breaking the lease.

Thanks,
        Lucho

Reply via email to