|
Lunchbox 1.10.0
|
00001 Release Notes {#RelNotes} 00002 ============ 00003 00004 [TOC] 00005 00006 # Introduction {#Introduction} 00007 00008 Welcome to Lunchbox, a C++ library for multi-threaded programming. 00009 Lunchbox 1.10 adds URI parsing, persistent map interface for key value 00010 stores, compilation fixes for different platforms and adds minor improvements 00011 of the API. 00012 00013 Lunchbox 1.10 is a feature release based on the 1.9 Lunchbox API. It is 00014 intended for all application developers creating high-preformance 00015 multi-threaded programs. Lunchbox 1.10 can be retrieved by downloading 00016 the 00017 [source code](http://www.equalizergraphics.com/downloads/Lunchbox-1.10.0.tar.gz) 00018 or any of the 00019 [precompiled packages](http://www.equalizergraphics.com/downloads/major.html). 00020 00021 ## Features {#Features} 00022 00023 Lunchbox provides the following major features to facilitate the 00024 development and deployment of multi-threaded applications: 00025 00026 * OS Abstraction: Utility classes abstracting common operating systems 00027 features, e.g., threads, locks, memory maps, shared library loading 00028 and condition variables. 00029 * High-Performance Primitives: Thread-safe utilities tuned for 00030 performance, e.g., atomic variables, spin locks and lock-free 00031 containers. 00032 * Utility classes: Helper primitives which are not in the standard 00033 library, e.g., logging, pools and random number generation. 00034 00035 # New in this release {#New} 00036 00037 Lunchbox 1.10 contains the following features, enhancements, bug fixes 00038 and documentation changes over Lunchbox 1.9: 00039 00040 ## New Features {#NewFeatures} 00041 00042 * lunchbox::URI parsing support according to RFC3986 00043 * lunchbox::PersistentMap interface for persistent key-value stores 00044 * lunchbox::getHostname function 00045 00046 ## Enhancements {#Enhancements} 00047 00048 * Added timeout parameter for the Future::wait function 00049 * Improved thread logging facilities 00050 * Added API for continuous browsing to lunchbox::Servus 00051 * Improved lunchbox::Servus implementations, supporting continuous browsing and 00052 using the native Avahi API on Linux 00053 00054 ## Optimizations {#Optimizations} 00055 00056 * Improved performance of lunchbox::make_uint128() 00057 00058 ## Documentation {#Documentation} 00059 00060 * [API documentation](http://eyescale.github.io/Lunchbox-1.10/index.html) 00061 of the public Lunchbox API 00062 00063 ## Bug Fixes {#Fixes} 00064 00065 Lunchbox 1.10 includes various compilation fixes over the 1.9 release, including 00066 the following: 00067 00068 * OSX 10.9, Win32 builds improved. 00069 00070 ## Known Bugs {#Bugs} 00071 00072 The following bugs were known at release time. Please file a 00073 [Bug Report](https://github.com/Eyescale/Lunchbox/issues) if you find 00074 any other issue with this release. 00075 00076 * [6:](https://github.com/Eyescale/Lunchbox/issues/6) 00077 Condition::timedWait does not wait on early RHEL 6.1 versions 00078 00079 # About {#About} 00080 00081 Lunchbox is a cross-platform library, designed to run on any modern 00082 operating system, including all Unix variants and the Windows operating 00083 system. Lunchbox uses CMake to create a platform-specific build 00084 environment. The following platforms and build environments are tested: 00085 00086 * Linux: Ubuntu 12.04, 12.10, 13.04, 13.10, 14.04 RHEL 6 (Makefile, i386, x64) 00087 * Windows: 7 (Visual Studio 2008, i386, x64) 00088 * Mac OS X: 10.8 (Makefile, XCode, i386, x64) 00089 00090 The 00091 [API documentation](http://eyescale.github.io/Lunchbox-1.8/index.html) 00092 can be found on [eyescale.github.io](http://eyescale.github.io/). As 00093 with any open source project, the available source code, in particular 00094 the [unit tests](https://github.com/Eyescale/Lunchbox/tree/1.8/tests) 00095 provide a reference for developing applications. 00096 00097 Technical questions can be posted to the Equalizer 00098 [Developer Mailing List](http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev), 00099 or directly to 00100 [info@equalizergraphics.com](mailto:info@equalizergraphics.com?subject=Lunchbox%20question). 00101 00102 Commercial support, custom software development and porting services are 00103 available from [Eyescale](http://www.eyescale.ch). Please contact 00104 [info@eyescale.ch](mailto:info@eyescale.ch?subject=Lunchbox%20support) 00105 for further information. 00106 00107 # Errata