• Kirill Smelkov's avatar
    bigfile/zodb: Allow to pass both buffer and any object with buffer interface to ZBlk.setblkdata · c306df9b
    Kirill Smelkov authored
    Since wendelin.core beginning PyBigFile.storeblk(blk, buf) is passed with
    buf being buffer object. See 35eb95c2 (bigfile: Python wrapper around
    virtual memory subsystem) for details about that. In its turn
    ZBigFile.storeblk was initially making bytes copy snapshot of that
    buffer, but later pushed that job to ZBlk.setblkdata in
    e0b00bda (bigfile/zodb: Make "set blkdata to be later saved to DB"
    explicit method of ZBlk). So on that codepath ZBlk.setblkdata(buf) is
    invoked with buf being python buffer as argument name suggests.
    
    However later, when working on WCFS, for preparing test data I also
    explicitly used ZBlk.setblkdata in
    
        wcfs/internal/zdata/testdata/zblk_test_gen.py  2c152d41 (wcfs: Add zdata package to load ZBlk/ZBigFile data)
        wcfs/internal/xbtree/xbtreetest/treegen.py     a8595565 (wcfs: tests: Treegen functionality)
    
    and there test data is prepared by regularly using ZODB without virtmem
    layer ...
    c306df9b