MaidSafe-Common

Library of utility functions

Description

Utilities used by most of the MaidSafe libraries.

Features

  • Cryptographic helpers for asymmetric, symmetric algorithms and key sizes
  • Secure hashing helpers
  • N+P key sharing scheme (Shamir)
  • Exception safety helpers (see on_scope_exit.h)
  • Active object helper
  • ASIO helper (deadline timers and async service handling)
  • LOG facility (lightweight Debug logging)
  • Google Test runner helper (test.h)
  • String manipulators (bounded stings, tagged values) to allow creation of concrete types
    (we limit use of bare strings in favour of type safety)
  • Safe queue (internally synchronised queue)
  • Error handling system (MaidSafe and LifeStuff errors) with categories and codes per library

Programming languages

Core

C++11 compatible with GCC (4.7 and above), Clang (3.3 and above) and MSVC 2012 (with no dependency on CTP releases). Tested on Windows 32/64 bit, Linux 32/64 bit (dependent on GCC version) and OSX (Mountain Lion and above).

Status

This library is considered BETA quality and is provided with a test suite and QA suite. This can be considered for use in production quality systems at this time.

Roadmap

  • Async improvements (task stealing systems)
  • Introduce Co-Routines
  • Investigate internal serialisation and parsing mechanisms

Links