Skip to main content

FileHashTable

Struct FileHashTable 

Source
pub struct FileHashTable { /* private fields */ }
Expand description

A hash lookup table backed by a file of known field names

Implementations§

Source§

impl FileHashTable

Source

pub fn new(algorithm: HashAlgorithm) -> Self

Create a new empty hash table with the given algorithm

§Arguments
  • algorithm - The hash algorithm to use for calculating hashes
§Returns

A new FileHashTable instance with the specified algorithm and an empty lookup table

Source

pub fn from_file<P: AsRef<Path>>( algorithm: HashAlgorithm, path: P, ) -> Result<Self>

Create a new hash table with the given algorithm and lookup file

The lookup file should contain one field name per line Lines starting with ‘#’ are treated as comments

§Arguments
  • algorithm - The hash algorithm to use for calculating hashes
  • path - The path to the lookup file containing field names
§Types
  • P - A type that can be converted to a Path reference, such as &str or String
§Errors
  • If the file cannot be opened, a JMapError::LookupFileNotFound error is returned with the file path
§Returns

A Result containing the new FileHashTable instance if successful, or a JMapError if the file cannot be read

Source

pub fn algorithm(&self) -> HashAlgorithm

Get the hash algorithm used by this table

§Returns

The HashAlgorithm instance representing the hash algorithm used by this FileHashTable

Trait Implementations§

Source§

impl Clone for FileHashTable

Source§

fn clone(&self) -> FileHashTable

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FileHashTable

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl HashTable for FileHashTable

Implementation of the HashTable trait for FileHashTable This allows FileHashTable to be used wherever a HashTable is expected, providing methods to calculate hashes, find field names by hash, and add new field names to the lookup table

Source§

fn calc(&self, field_name: &str) -> u32

Calculate the hash for a field name Read more
Source§

fn find(&self, hash: u32) -> String

Find the field name for a given hash Returns a hex representation like [DEADBEEF] if not found Read more
Source§

fn add(&mut self, field_name: &str) -> u32

Add a field name to the lookup table and return its hash Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.