Commit 80736395 authored by Kirill Smelkov's avatar Kirill Smelkov

.

parent 80987dcc
......@@ -127,6 +127,27 @@ will be our future approach after we teach NEO about object deduplication.
#
# TODO add top-level overview
#
# zfile (ZBigFile)
# .blksize
# .blktab LOBTree #blk -> ZBlk*
#
# ._v_file _ZBigFile
# ._v_filehset weakset(_ZBigFileH) created for zfile
#
# zfileh (_ZBigFileH)
#
# ZBigFile is kept as Live persistent because XXX
#
#
# DB -> ZBlk.blkdata (-> memory-page)
# (DB <- ) ZBlk.blkdata <- memory-page
#
# (DB -> invalidate ZBlk.blkdata -> invalidate memory-page)
# + FIXME topology changes are not handled correctly
# + FIXME ZBlk is ghostified
#
#
#
# As file pages are changed in RAM with changes being managed by virtmem
# subsystem, we need to propagate the changes to ZODB objects back at some time.
#
......@@ -630,6 +651,9 @@ class ZBigFile(LivePersistent):
# - True -> use wcfs
# - False -> don't use wcfs
# - not set -> behave according to global default
#
# XXX several fileh could be opened for one ZBigFile. Is it useful at all?
# normally in one zconn there is only one zfileh opened for zfile.
def fileh_open(self, _use_wcfs=None):
if _use_wcfs is None:
_use_wcfs = self._default_use_wcfs()
......@@ -730,13 +754,12 @@ Connection.open = Connection_open
@implementer(ISynchronizer)
class _ZBigFileH(object):
# .zfile ZBigFile we were opened for
# # .wcfileh handle for ZBigFile in wcfs | None
# .wcfileh handle for ZBigFile in wcfs | None
# .zfileh handle for ZBigFile (overlayed over .wcfileh if .wcfileh != ø)
# def __init__(self, zfile, wcfileh):
def __init__(self, zfile, wc): # wc: wcfs.WCFS | None
def __init__(self, zfile, wcfileh):
self.zfile = zfile
# self.wcfileh = wcfileh
self.wcfileh = wcfileh
self.zfileh = zfile._v_file.fileh_open() # XXX pass wcfileh in
# FIXME zfile._p_jar could be None (ex. ZBigFile is newly created
......
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