Lunchbox  1.10.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Release Notes

Introduction

Welcome to Lunchbox, a C++ library for multi-threaded programming. Lunchbox 1.10 adds URI parsing, persistent map interface for key value stores, compilation fixes for different platforms and adds minor improvements of the API.

Lunchbox 1.10 is a feature release based on the 1.9 Lunchbox API. It is intended for all application developers creating high-preformance multi-threaded programs. Lunchbox 1.10 can be retrieved by downloading the source code or any of the precompiled packages.

Features

Lunchbox provides the following major features to facilitate the development and deployment of multi-threaded applications:

  • OS Abstraction: Utility classes abstracting common operating systems features, e.g., threads, locks, memory maps, shared library loading and condition variables.
  • High-Performance Primitives: Thread-safe utilities tuned for performance, e.g., atomic variables, spin locks and lock-free containers.
  • Utility classes: Helper primitives which are not in the standard library, e.g., logging, pools and random number generation.

New in this release

Lunchbox 1.10 contains the following features, enhancements, bug fixes and documentation changes over Lunchbox 1.9:

New Features

Enhancements

  • Added timeout parameter for the Future::wait function
  • Improved thread logging facilities
  • Added API for continuous browsing to lunchbox::Servus
  • Improved lunchbox::Servus implementations, supporting continuous browsing and using the native Avahi API on Linux

Optimizations

Documentation

Bug Fixes

Lunchbox 1.10 includes various compilation fixes over the 1.9 release, including the following:

  • OSX 10.9, Win32 builds improved.

Known Bugs

The following bugs were known at release time. Please file a Bug Report if you find any other issue with this release.

  • 6: Condition::timedWait does not wait on early RHEL 6.1 versions

About

Lunchbox is a cross-platform library, designed to run on any modern operating system, including all Unix variants and the Windows operating system. Lunchbox uses CMake to create a platform-specific build environment. The following platforms and build environments are tested:

  • Linux: Ubuntu 12.04, 12.10, 13.04, 13.10, 14.04 RHEL 6 (Makefile, i386, x64)
  • Windows: 7 (Visual Studio 2008, i386, x64)
  • Mac OS X: 10.8 (Makefile, XCode, i386, x64)

The API documentation can be found on eyescale.github.io. As with any open source project, the available source code, in particular the unit tests provide a reference for developing applications.

Technical questions can be posted to the Equalizer Developer Mailing List, or directly to info@equalizergraphics.com.

Commercial support, custom software development and porting services are available from Eyescale. Please contact info@eyescale.ch for further information.

Errata