Crate grin_util

source ·
Expand description

Logging, as well as various low-level utilities that factor Rust patterns that are frequent within the grin codebase.

Re-exports§

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)
  • Globally accessible static instance of secp256k1, to avoid initialization overhead
  • Zeroing String
  • Compress and decompress zip bz2 archives

Macros§

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 Grin.

Traits§

Functions§

  • Decode a hex string into bytes.
  • Encode an utf8 string to a base64 string

Type Aliases§

  • 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.
  • RAII structure used to release the exclusive write access of a lock when dropped.