starfuse
Public Member Functions | Public Attributes | List of all members
starfuse.pak.btreedb4.BTreeDB4 Class Reference
Inheritance diagram for starfuse.pak.btreedb4.BTreeDB4:
starfuse.pak.sbbf03.SBBF03 starfuse.fs.mapped_file.MappedFile starfuse.fs.mapped_file.Region starfuse.pak.pakfile.KeyStore starfuse.pak.pakfile.Package

Public Member Functions

def __init__ (self, path, page_count, read_only=False)
 
def encode_key (self, key)
 
def block (self, index)
 
def file_contents (self, key)
 
def file_size (self, key)
 
- Public Member Functions inherited from starfuse.pak.sbbf03.SBBF03
def __init__ (self, path, page_count, read_only=False)
 
def __del__ (self)
 
def block_region (self, bid)
 
def block_count (self)
 
- Public Member Functions inherited from starfuse.fs.mapped_file.MappedFile
def __init__ (self, path, page_count, read_only=False)
 
def __len__ (self)
 
def __del__ (self)
 
def close (self)
 
def region (self, offset, size)
 
def read (self, length=1, offset=-1, advance=True)
 
def write (self, value, offset=-1, length=-1, advance=True)
 
def __getitem__ (self, offset)
 
def __setitem__ (self, offset, value)
 
- Public Member Functions inherited from starfuse.fs.mapped_file.Region
def __init__ (self, parent, base_offset, size)
 
def __len__ (self)
 
def __str__ (self)
 
def __enter__ (self)
 
def __exit__ (self, tipo, value, traceback)
 
def region (self, offset=-1, size=-1)
 
def read (self, length=-1, offset=-1, advance=True)
 
def write (self, value, length=-1, offset=-1, advance=True)
 

Public Attributes

 key_size
 
 repair
 
 alternate_root_node
 
 root_node
 
 root_node_is_leaf
 
 identifier
 
 other_root_node_is_leaf
 
- Public Attributes inherited from starfuse.pak.sbbf03.SBBF03
 header
 
 user_header
 
 blocks
 
- Public Attributes inherited from starfuse.fs.mapped_file.MappedFile
 read_only
 
 cursor
 
- Public Attributes inherited from starfuse.fs.mapped_file.Region
 parent
 
 base_offset
 
 cursor
 

Detailed Description

A B-tree database format on top of the SBBF03 block format.

Note: The developers of this format probably intended for the underlying
file format to be arbitrary, but this database has pretty strong
connections to SBBF02 right now so it's been implemented as inheriting from
that file format. In the future we may want to split away from the
inheritance chain and instead use the SBBF02 file as an API.

Member Function Documentation

def starfuse.pak.btreedb4.BTreeDB4.block (   self,
  index 
)
Gets a block object given the specified index
def starfuse.pak.btreedb4.BTreeDB4.encode_key (   self,
  key 
)
Can be overridden to encode a key before looking for it in the
database (for example if the key needs to be hashed).

The documentation for this class was generated from the following file: