Crate stack_epic_util
source ·Expand description
Logging, as well as various low-level utilities that factor Rust patterns that are frequent within the epic codebase.
Re-exports
pub use secp256k1zkp as secp;pub use crate::logger::init_logger;pub use crate::logger::init_test_logger;pub use crate::logger::LoggingConfig;pub use crate::secp_static::static_secp_instance;pub use crate::types::ZeroingString;Modules
File util
Logging wrapper to be used throughout all crates in the workspace
Macros to support Rust BIP-32 code (though could conceivably be used for other things)
Custom impls of read_exact and write_all to work around async stream restrictions.
Globally accessible static instance of secp256k1, to avoid
initialization overhead
Logging configuration types
Compress and decompress zip bz2 archives
Macros
gives a newtype array wrapper standard array traits
gives a newtype array wrapper serialization and deserialization methods
gives a newtype array wrapper the Debug trait
gives a newtype array wrapper Index traits
Structs
Encapsulation of a RwLock<Option> for one-time initialization.
This implementation will purposefully fail hard if not used
properly, for example if not initialized before being first used
(borrowed).
A rate counter tracks the number of transfers, the amount of data
exchanged and the rate of transfer (via a few timers) over the last
minute. The counter does not try to be accurate and update times
proactively, instead it only does so lazily. As a result, produced
rates are worst-case estimates.
Global stopped/paused state shared across various subcomponents of Epic.
Functions
Decode a hex string into bytes.
Encode an utf8 string to a base64 string
Encode the provided bytes into a hex string
Type Definitions
A mutual exclusion primitive useful for protecting shared data
A reader-writer lock
RAII structure used to release the shared read access of a lock when
dropped.