random-pool

Crates.iorandom-pool
lib.rsrandom-pool
version0.1.1
sourcesrc
created_at2017-11-16 01:16:51.295883
updated_at2017-11-16 12:41:34.720164
descriptionA threadsafe, fixed size, pool, where its contents are individually guarded by Mutexes.
homepagehttps://github.com/hgzimmerman/random-pool
repositoryhttps://github.com/hgzimmerman/random-pool
max_upload_size
id39511
size14,072
Henry Zimmerman (hgzimmerman)

documentation

https://docs.rs/crate/random-pool

README

Current Crates.io Version

Random Pool

A threadsafe, fixed-size, persistent object pool, where its contents are individually guarded by Mutexes and are guaranteed to be accessed randomly.

Use Case

This crate is useful for situations where you need a fixed number of mutable elements that can be shared across threads, but the particular element you are accessing is not important.

This is useful either when you want a pool of identical resources that you don't intend to modify, like DB connections, or when you want a set of resources that when accessed randomly, will trend towards having the same contents, like a dynamic cache.

Features

  • Threadsafe - The pool can be shared across threads if wrapped in an Arc.
  • Interior mutability - Elements in the pool can be mutated.
  • Random access - An element in the pool will be randomly returned to the caller if it is not already locked.
  • Get elements by either possibly waiting on a spinlock to release ( get() ), or to return None if all elements are currently locked ( try_get() ).
  • Run a custom function on all elements in the pool, one element at a time.
Commit count: 8

cargo fmt