Home | Trees | Indices | Help |
---|
|
builtins.object --+ | _BufferBlock
A stand-in for a Keep block that is in the process of being written. Writers can append to it, get the size, and compute the Keep locator. There are three valid states: WRITABLE Can append to block. PENDING Block is in the process of being uploaded to Keep, append is an error. COMMITTED The block has been written to Keep, its internal buffer has been released, fetching the block will fetch it via keep client (since we discarded the internal copy), and identifiers referring to the BufferBlock can be replaced with the block locator.
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|||
|
|
|||
WRITABLE = 0
|
|||
PENDING = 1
|
|||
COMMITTED = 2
|
|||
ERROR = 3
|
|||
DELETED = 4
|
|||
STATE_TRANSITIONS = frozenset([(WRITABLE, PENDING), (PENDING,
|
|
:blockid: the identifier for this block :starting_capacity: the initial buffer capacity :owner: ArvadosFile that owns this block |
Append some data to the buffer. Only valid if the block is in WRITABLE state. Implements an expanding buffer, doubling capacity as needed to accomdate all the data.
|
|
|
The Keep locator for this buffer's contents.
|
|
|
Optimize buffer block by repacking segments in file sequence. When the client makes random writes, they appear in the buffer block in the sequence they were written rather than the sequence they appear in the file. This makes for inefficient, fragmented manifests. Attempt to optimize by repacking writes in file sequence.
|
|
STATE_TRANSITIONS
|
Home | Trees | Indices | Help |
---|
Generated by Epydoc 3.0.1 on Thu Dec 21 19:09:45 2023 | http://epydoc.sourceforge.net |