Crate shkeleton [] [src]

Shkeleton is a skeleton Rust project which defines some default dependencies and contains some common API's. The idea behind a Shkeleton is that you don't need to update all the dependencies by hand for every your library or binary, you could just update a Shkeleton version and get all updates.

Dependencies

  • log -- logging facade
  • byteorder -- dealing with data reading/writing
  • lazy_static -- macro to define a lazy static constants
  • array_tool -- utilities for dealing with arrays
  • itertools -- utilities for dealing with iterators
  • regex -- regular expressions
  • url -- handling URLs

Features

Shkeleton also defines a few features which extend the dependencies list and APIs.

CLI feature

Additional dependencies:

  • clap -- define your command line arguments parser

Concurrency feature

Additional dependencies:

  • scoped-pool -- define and use a thread pool
  • num_cpus -- get the number of CPUs and cores available
  • parking_lot -- faster syncronization primitives Concurrency feature also defines a facade for RwLock, which allowes to hide an implementation (std::sync::RwLock or parking_lot::RwLock) behind this facade and switch implementation without the need to update sources. It could be valuable because the parking_lot implementation lacks "lock poisoning" and maybe harder to debug deadlocks.

Re-exports

pub extern crate log;
pub extern crate byteorder;
pub extern crate itertools;
pub extern crate array_tool;
pub extern crate regex;
pub extern crate url;

Modules

sync