Browse Source

Fixup formatting

android
Roman Zeyde 5 years ago
parent
commit
b4a2b9cf63
No known key found for this signature in database GPG Key ID: 87CAE5FA46917CBB
  1. 26
      src/cache.rs

26
src/cache.rs

@ -5,9 +5,9 @@ use bitcoin::blockdata::transaction::Transaction;
use bitcoin::consensus::encode::deserialize; use bitcoin::consensus::encode::deserialize;
use bitcoin_hashes::sha256d::Hash as Sha256dHash; use bitcoin_hashes::sha256d::Hash as Sha256dHash;
use lru::LruCache; use lru::LruCache;
use prometheus::IntGauge;
use std::hash::Hash; use std::hash::Hash;
use std::sync::Mutex; use std::sync::Mutex;
use prometheus::IntGauge;
struct SizedLruCache<K, V> { struct SizedLruCache<K, V> {
map: LruCache<K, (V, usize)>, map: LruCache<K, (V, usize)>,
@ -42,7 +42,6 @@ impl<K: Hash + Eq, V> SizedLruCache<K, V> {
} }
fn put(&mut self, key: K, value: V, byte_size: usize) { fn put(&mut self, key: K, value: V, byte_size: usize) {
if byte_size > self.bytes_capacity { if byte_size > self.bytes_capacity {
return; return;
} }
@ -60,7 +59,6 @@ impl<K: Hash + Eq, V> SizedLruCache<K, V> {
self.usage.set(self.bytes_usage as i64); self.usage.set(self.bytes_usage as i64);
} }
} }
pub struct BlockTxIDsCache { pub struct BlockTxIDsCache {
@ -76,12 +74,10 @@ impl BlockTxIDsCache {
), ),
&["type"], &["type"],
); );
let usage = metrics.gauge_int( let usage = metrics.gauge_int(MetricOpts::new(
MetricOpts::new( "electrs_blocktxids_cache_size",
"electrs_blocktxids_cache_size", "Cache usage for list of transactions in a block (bytes)",
"Cache usage for list of transactions in a block (bytes)", ));
),
);
BlockTxIDsCache { BlockTxIDsCache {
map: Mutex::new(SizedLruCache::new(bytes_capacity, lookups, usage)), map: Mutex::new(SizedLruCache::new(bytes_capacity, lookups, usage)),
} }
@ -123,12 +119,10 @@ impl TransactionCache {
), ),
&["type"], &["type"],
); );
let usage = metrics.gauge_int( let usage = metrics.gauge_int(MetricOpts::new(
MetricOpts::new( "electrs_transactions_cache_size",
"electrs_transactions_cache_size", "Cache usage for list of transactions (bytes)",
"Cache usage for list of transactions (bytes)", ));
),
);
TransactionCache { TransactionCache {
map: Mutex::new(SizedLruCache::new(bytes_capacity, lookups, usage)), map: Mutex::new(SizedLruCache::new(bytes_capacity, lookups, usage)),
} }
@ -174,14 +168,12 @@ mod tests {
assert_eq!(counter.with_label_values(&["hit"]).get(), 0); assert_eq!(counter.with_label_values(&["hit"]).get(), 0);
assert_eq!(usage.get(), 0); assert_eq!(usage.get(), 0);
cache.put(1, 10, 50); // add new key-value cache.put(1, 10, 50); // add new key-value
assert_eq!(cache.get(&1), Some(&10)); assert_eq!(cache.get(&1), Some(&10));
assert_eq!(counter.with_label_values(&["miss"]).get(), 1); assert_eq!(counter.with_label_values(&["miss"]).get(), 1);
assert_eq!(counter.with_label_values(&["hit"]).get(), 1); assert_eq!(counter.with_label_values(&["hit"]).get(), 1);
assert_eq!(usage.get(), 50); assert_eq!(usage.get(), 50);
cache.put(3, 30, 50); // drop oldest key (1) cache.put(3, 30, 50); // drop oldest key (1)
cache.put(2, 20, 50); cache.put(2, 20, 50);
assert_eq!(cache.get(&1), None); assert_eq!(cache.get(&1), None);

Loading…
Cancel
Save