1 Release Notes {#mainpage}
6 # Introduction {#Introduction}
8 Welcome to Collage, a high-performance C++ library
for developing
9 object-oriented distributed applications. This release introduces the
10 official 1.0 API of the former Equalizer network library.
12 Collage 1.0 is a stable release of over eight years of development and
13 decades of experience into a high-performance and mature C++ library. It
14 is intended
for all C++ developers creating distributed applications
15 with high-level abstractions. Collage 1.0 can be retrieved by
16 downloading the source code or one of the precompiled packages.
18 ## Features {#Features}
20 Collage provides different levels of abstraction to facilitate the
21 development distributed applications:
23 * Network
Connections: stream-oriented point-to-point and reliable
24 multicast connections
for TCP/IP, SDP, InfiniBand RDMA, UDT, events,
25 named and anonymous pipes, memory buffers and reliable multicast over
27 * Peer-to-Peer Messaging: Endian-safe node-to-node message communication
28 with thread-aware message dispatch.
29 * Synchronization: Distributed barriers and synchronous messaging.
30 * Object data distribution: high-performance,
object-oriented, versioned
31 data distribution
for C++ objects based on delta serialization.
33 # New in
this release {#New}
35 Collage 1.0 contains the following features, enhancements, bug fixes and
36 documentation changes over the Equalizer 1.4 release:
38 ## New Features {#NewFeatures}
40 * Endian-safe messaging
41 * RDMA connection supported on Windows
43 ## Enhancements {#Enhancements}
47 ## Optimizations {#Optimizations}
53 * New coNodePerf application to benchmark node-to-node messaging performance
55 ## Documentation {#Documentation}
57 The following documentation has been added or substantially improved
58 since the last release:
60 * Full documentation
for the
public Collage API
61 * Expanded Collage content in the Equalizer Programming and User Guide
65 Collage 1.0 includes various bugfixes over the Equalizer 1.4 release,
66 including the following:
71 concurrent
object deregister and map
79 The following bugs were known at release time. Please file a [Bug Report](https:
86 occasionally crashes on client disconnect
88 inheritance not working with xlC
92 Collage is a cross-platform library, designed to run on any modern
93 operating system, including all Unix variants and the Windows operating
94 system. Collage uses CMake and
96 platform-specific build environment. The following platforms and build
97 environments are tested
for version 1.0:
99 * Linux: Ubuntu 12.04, 12.10, 13.04, RHEL 6.3 (Makefile, i386, x64)
100 * Windows: 7 (Visual Studio 2008, i386, x64)
101 * Mac OS X: 10.8 (Makefile, XCode, i386, x64)
103 The Equalizer Programming and User Guide covers the basics of Collage
104 programming. The API documentation can be found on
107 As with any open source project, the available source code, in
108 particular the shipped tools provide a reference
for developing or
109 porting applications.
111 Technical questions can be posted to the eq-dev Mailing List, or
112 directly to info@equalizergraphics.com.
114 Commercial support, custom software development and porting services are
115 available from [Eyescale](http:
116 [info@eyescale.ch](mailto:info@eyescale.ch?subject=Collage%20support)
117 for further information.
std::vector< ConnectionPtr > Connections
A vector of ConnectionPtr's.
A distributed object registry.
A worker thread processing items out of a CommandQueue.
A thread-safe queue for ICommand buffers.