Package rekall :: Module io_manager
[frames] | no frames]

Module io_manager

source code

IO Abstraction for Rekall.

Since Rekall is a library it should never directly access files: it may be running on an environment which has no filesystem access for example, or the files may be stored in an unusual way.

In order to ensure that the file storage mechanism does not need to be hardcoded in each module, Rekall has an abstracted filesystem access mechanism implemented through the IO Manager.

The session object should contain an instance of the IOManager() class at the io_manager attribute, which will be used to create new files, or read from existing files.


Author: Michael Cohen <scudette@google.com>

Classes
  IOManagerError
An IOError from the IO Manager.
  EncodeError
Raised when unable to encode to the IO Manager.
  DecodeError
Raised when unable to decode to the IO Manager.
  IOManager
The baseclass for abstracted IO implementations.
  DirectoryIOManager
An IOManager which stores everything in files.
  SelfClosingFile
  ZipFileManager
An IO Manager which stores files in a zip archive.
  URLManager
Supports opening profile repositories hosted over the web.
Functions
 
Factory(urn, mode='r', session=None, **kwargs)
Try to instantiate the IOManager class.
source code
Variables
  MAX_DATA_SIZE = 100000000
  __package__ = 'rekall'