Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
DBM::Deep::Engine::FilUser Contributed Perl DocumentDBM::Deep::Engine::File(3)

NAME
       DBM::Deep::Engine::File - engine	for use	with DBM::Deep::Storage::File

PURPOSE
       This is the engine for use with DBM::Deep::Storage::File.

EXTERNAL METHODS
   new()
       This takes a set	of args. These args are	described in the documentation
       for "new" in DBM::Deep.

INTERNAL METHODS
       The following methods are internal-use-only to DBM::Deep::Engine::File.

   read_txn_slots()
       This takes no arguments.

       This will return	an array with a	1 or 0 in each slot. Each spot
       represents one available	transaction. If	the slot is 1, that
       transaction is taken. If	it is 0, the transaction is available.

   write_txn_slots( @slots )
       This takes an array of 1's and 0's. This	array represents the
       transaction slots returned by "read_txn_slots()". In other words, the
       following is true:

	 @x = read_txn_slots( write_txn_slots( @x ) );

       (With the obviously missing object referents added back in.)

   get_running_txn_ids()
       This takes no arguments.

       This will return	an array of taken transaction IDs. This	wraps
       "read_txn_slots()".

   get_txn_staleness_counter( $trans_id	)
       This will return	the staleness counter for the given transaction	ID.
       Please see "STALENESS" in DBM::Deep::Engine for more information.

   inc_txn_staleness_counter( $trans_id	)
       This will increment the staleness counter for the given transaction ID.
       Please see "STALENESS" in DBM::Deep::Engine for more information.

   get_entries()
       This takes no arguments.

       This returns a list of all the sectors that have	been modified by this
       transaction.

   add_entry( $trans_id, $location )
       This takes a transaction	ID and a file location and marks the sector at
       that location as	having been modified by	the transaction	identified by
       $trans_id.

       This returns nothing.

       NOTE: Unlike all	the other _entries() methods, there are	several	cases
       where "$trans_id	!= $self->trans_id" for	this method.

   reindex_entry( $old_loc, $new_loc )
       This takes two locations	(old and new, respectively). If	a location
       that has	been modified by this transaction is subsequently reindexed
       due to a	bucketlist overflowing,	then the entries hash needs to be made
       aware of	this change.

       This returns nothing.

   clear_entries()
       This takes no arguments.	It will	clear the entries list for the running
       transaction.

       This returns nothing.

   _write_file_header()
       This writes the file header for a new file. This	will write the various
       settings	that set how the file is interpreted.

   _read_file_header()
       This reads the file header from an existing file. This will read	the
       various settings	that set how the file is interpreted.

   _apply_digest( @stuff )
       This will apply the digest method (default to Digest::MD5::md5) to the
       arguments passed	in and return the result.

   _add_free_blist_sector( $offset, $size )
   _add_free_data_sector( $offset, $size )
   _add_free_index_sector( $offset, $size )
       These methods are all wrappers around _add_free_sector(), providing the
       proper chain offset ($multiple) for the sector type.

   _add_free_sector( $multiple,	$offset, $size )
       _add_free_sector() takes	the offset into	the chains location, the
       offset of the sector, and the size of that sector. It will mark the
       sector as a free	sector and put it into the list	of sectors that	are
       free of this type for use later.

       This returns nothing.

       NOTE: $size is unused?

   _request_blist_sector( $size	)
   _request_data_sector( $size )
   _request_index_sector( $size	)
       These methods are all wrappers around _request_sector(),	providing the
       proper chain offset ($multiple) for the sector type.

   _request_sector( $multiple $size )
       This takes the offset into the chains location and the size of that
       sector.

       This returns the	object with the	sector.	If there is an available free
       sector of that type, then it will be reused. If there isn't one,	then a
       new one will be allocated.

   ACCESSORS
       The following are readonly attributes.

       o   byte_size

       o   hash_size

       o   hash_chars

       o   num_txns

       o   max_buckets

       o   blank_md5

       o   data_sector_size

       o   txn_bitfield_len

       The following are read/write attributes.

       o   trans_id / set_trans_id( $new_id )

       o   trans_loc / set_trans_loc( $new_loc )

       o   chains_loc /	set_chains_loc(	$new_loc )

   _dump_file()
       This method takes no arguments. It's used to print out a	textual
       representation of the DBM::Deep DB file.	It assumes the file is not-
       corrupted.

perl v5.32.1			  2018-05-20	    DBM::Deep::Engine::File(3)

NAME | PURPOSE | EXTERNAL METHODS | INTERNAL METHODS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=DBM::Deep::Engine::File&sektion=3&manpath=FreeBSD+13.0-RELEASE+and+Ports>

home | help