Commit b71f634a authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent e84c6c32
......@@ -54,8 +54,8 @@
// core element in handling WCFS isolation protocol, is effectively invoked
// synchronously from other threads via messages coming through wcfs server.
// For example Conn.resync sends watch request to wcfs and waits for the
// answer. Wcfs server, in turn, sends corresponding pin messages to the pinner
// and _waits_ for the answere before answering to resync:
// answer. Wcfs server, in turn, might send corresponding pin messages to the
// pinner and _wait_ for the answere before answering to resync:
//
// - - - - - -
// | .···|·····. ----> = request
......@@ -139,7 +139,7 @@ pair<Conn, error> WCFS::connect(zodb::Tid at) {
// and stats head/f to get f.headfsize _before_ that.
// -> just wait here.
// XXX atMu.RLock ?
err = wconn._headWait(at);
err = wconn->_headWait(at);
if (err != nil) {
// XXX bring conn down - stop pinner
return make_pair(nil, E(err));
......@@ -149,6 +149,14 @@ pair<Conn, error> WCFS::connect(zodb::Tid at) {
}
// _headWait waits till wcfs/head/at becomes ≥ at.
//
// XXX locks condition?
error _Conn::_headWait(zodb::Tid at) { // XXX +ctx ?
// FIXME implement
return nil;
}
static global<error> errConnClosed = errors::New("connection closed");
// close releases resources associated with wconn.
......
......@@ -208,6 +208,7 @@ private:
error __pinner(context::Context ctx);
error _pin1(PinReq *req);
error __pin1(PinReq *req);
error _headWait(zodb::Tid at);
};
// FileH represent isolated file view under Conn.
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment