Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Crossroads I/O core library

branch: master

dummy commit to test CI

Signed-off-by: Martin Sustrik <sustrik@250bpm.com>
latest commit f4de64c0de
sustrik sustrik authored
Octocat-spinner-32 builds Converted the build system to non-recursive automake February 13, 2013
Octocat-spinner-32 doc Converted the build system to non-recursive automake February 13, 2013
Octocat-spinner-32 foreign New upstream OpenPGM maintenance release 5.1.118. October 04, 2011
Octocat-spinner-32 include Implement SP wire protocol June 26, 2012
Octocat-spinner-32 m4 Add the PKG_CHECK_MODULES macro definition to the distribution May 29, 2012
Octocat-spinner-32 perf Converted the build system to non-recursive automake February 13, 2013
Octocat-spinner-32 src Converted the build system to non-recursive automake February 13, 2013
Octocat-spinner-32 tests Converted the build system to non-recursive automake February 13, 2013
Octocat-spinner-32 .gitignore Revert "UDP support" June 13, 2012
Octocat-spinner-32 .hgeol Line-ending conversion rules for hg-git users and enabled use of .git… November 19, 2011
Octocat-spinner-32 AUTHORS dummy commit to test CI February 26, 2013
Octocat-spinner-32 COPYING missing COPYING file added February 16, 2010
Octocat-spinner-32 COPYING.LESSER Linking exception corrected November 04, 2011
Octocat-spinner-32 INSTALL Documentation updates (README, INSTALL, xs tagline) March 14, 2012
Octocat-spinner-32 Makefile.am Fixed out-of-tree builds when using the included openpgm library February 13, 2013
Octocat-spinner-32 NEWS Preparation for 1.2.0 release June 13, 2012
Octocat-spinner-32 README Footnotes in README fixed April 20, 2012
Octocat-spinner-32 README.asciidoc Add README link for Github to render marked up version April 04, 2012
Octocat-spinner-32 acinclude.m4 Replaced obsolete autoconf and automake macros April 27, 2012
Octocat-spinner-32 autogen.sh Full name of the project used in license headers February 16, 2012
Octocat-spinner-32 configure.ac Fixed out-of-tree builds when using the included openpgm library February 13, 2013
Octocat-spinner-32 freenode.ver Freenode verification file added July 18, 2012
Octocat-spinner-32 version.sh Fixes a conflict with XenStore (see May 21, 2012
README.asciidoc

Welcome

Crossroads I/O ("libxs") is a library for building scalable and high performance distributed applications. It fits between classic BSD sockets, JMS/AMQP-style message queues, and enterprise message-oriented middleware.

Crossroads I/O extends the standard socket interfaces with features traditionally provided by specialised messaging middleware products, providing an abstraction of asynchronous message queues, multiple messaging patterns, message filtering (subscriptions), seamless access to multiple transport protocols, and more.

Crossroads I/O provides a native C API for applications. Support for many more languages is provided by the community through language bindings which can be found at the Crossroads website.

Building and Installation

The following instructions apply to building libxs from an official release downloaded from the Crossroads I/O website. For building directly from Git, refer to the INSTALL file included with the libxs distribution.

On POSIX platforms, libxs uses the standard autotools build system. To build and install the library, ensure your system has a C++ compiler installed, and proceed with the following steps:

  1. Run ./configure, then make to build the library.

  2. Optionally, run make check to run the built in test suite.

  3. Run make install as root.

  4. On Linux or other platforms which use ld.so for dynamic linking, run ldconfig or equivalent as root to update your system’s shared library cache.

On Windows, solution files for Visual C++ 2010 are provided in the builds/msvc/ subdirectory of the distribution.

Refer to the INSTALL file included with the libxs distribution for more detailed installation instructions.

ZeroMQ Compatibility

Crossroads I/O provides a drop-in libzmq compatibility library for ZeroMQ language bindings and applications. To enable libzmq compatibility, you must build your copy of libxs with the --enable-libzmq option to configure, or on Windows by building the appropriate solution file.

For further details refer to the doc/xs_zmq.html or the xs_zmq(7) manual page included with this distribution.

Note
Enabling this option will overwrite any existing installation of libzmq on your system.

Reporting Bugs

To report a bug, send an email describing your problem to the Crossroads mailing list. To make sure your bug report won’t be missed, you can file a report in the bug tracker[1].

To help Crossroads developers to fix the bug, please try to provide a minimal test program, ideally written in C, that reproduces the problem you are reporting.

Note
The bug tracker exists primarily to track bugs and pertinent data (test cases, crash logs, etc.). You should not use it for discussion. In the bug tracker your audience will be very limited. Mailing list serves the purpose of discussing bugs much better.

Contributing to the Project

Before contributing to the project make sure you understand the legal implications of doing so. These are outlined on the Crossroads I/O website[2].

To submit your contribution, send it as a patch (using git format-patch, diff, or similar) to the mailing list. Make sure to use your real name, and prefix the subject of your post with [PATCH].

All contributions will be reviewed and, if they pass review, accepted. For more details refer to the website[3].

Resources

The libxs development Git tree can be found on Github[4].

Development is coordinated on the mailing list[5]. Visit the archives[6] to join or view archives of previous discussion.

Extensive documentation is provided with the distribution. Refer to doc/xs.html, or the xs(7) manual page after you have installed libxs on your system.

Further resources, language bindings, tutorials, and more can be found on the Crossroads website[7].

Copying

Free use of this software is granted under the terms of the GNU Lesser General Public License (LGPL). For details see the files COPYING and COPYING.LESSER included with the libxs distribution.

As a special exception, the copyright holders of libxs grant you the right to link the library statically with your software. Refer to the end of the COPYING.LESSER file included with the libxs distribution for details.

Footnotes

Something went wrong with that request. Please try again.