[][src]Crate deadyet

This package allows you to efficiently search for hex patterns in the hex representation of Decodable values.

It is intended to find and search for these patterns in unix timestamps, specifically occurences of DEAD within the timestamp but is not limited to this.

use deadyet::{to_next_dead, to_next_pattern, has_pattern, Decodable};

assert_eq!(to_next_dead(0xDEAE), 0xFFFF);
assert_eq!(to_next_dead(0xDEACFF), 1);
assert_eq!(to_next_dead(0xDEAD0), 0);
assert_eq!(to_next_dead(0xDEAC0), 0x10);

assert_eq!(to_next_pattern(0xAAAAA, 0xABBA, 0xFFFF), 0x110);

assert!(has_pattern(0xAABBAA, 0xABBA));

Structs

PatternIterator

Iterator to go through results of pattern search in order.

PatternRangeIterator

Similar to PatternIterator, however efficiently describes ranges of pattern-truthness.

Traits

Decodable

Implementors of this trait can be numerically expressed and reasonably mapped to a Vec<u8> of hex digits.

Functions

dead_iterator

Creates a PatternRangeIterator for the pattern DEAD

has_dead

Checks if number contains the hex pattern "DEAD".

has_pattern

Checks whether or not the pattern of pattern is within the hex pattern of number.

is_it_dead

Returns whether the current unix timecode contains a DEAD.

next_dead

Returns the tuple (diff, abs) for the time until the next DEAD as well as the unix timestamp of that event.

secs_until_dead

Returns the number of seconds until the next DEAD in the unix timestamp.

to_next_dead
to_next_dead_at_end

Returns the time to the next dead ignoring the lshd least significant hex digits or 0 if after already contains DEAD. In the case that there can be no DEAD after restricting the least significant bits, u64::MAX is returned.

to_next_pattern

Returns the different to the next greater occurrence of the pattern.

to_next_pattern_at_end

Returns the difference to the next greater occurrence of the pattern in relation to number.