Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 82 lines (57 sloc) 2.133 kb
ef44ade @evax Initial documentation
evax authored
1 @title NIF based Erlang bindings for the ZeroMQ messaging library.
91b4e62 @okeuday Make the NIF more robust. Guard non-reentrant ZeroMQ sockets. Provide ...
okeuday authored
2 @copyright 2011 Yurii Rashkovskii, Evax Sofware and Michael Truog
ef44ade @evax Initial documentation
evax authored
3 @author Yurii Rashkovskii <yrashk@gmail.com> [http://rashkovskii.com]
4 @author Evax Software <contact@evax.fr> [http://www.evax.fr]
91b4e62 @okeuday Make the NIF more robust. Guard non-reentrant ZeroMQ sockets. Provide ...
okeuday authored
5 @author Michael Truog <mjtruog at gmail dot com> [http://mjtruog.veryspeedy.net]
ef44ade @evax Initial documentation
evax authored
6 @reference The <a href="http://www.zeromq.org">ZeroMQ</a> messaging library.
7 @doc
8
9 <ol>
10 <li>{@section Overview}</li>
11 <li>{@section Downloading}</li>
12 <li>{@section Building}</li>
b25a2ef @evax Add a LICENSE and expand the overview page
evax authored
13 <li>{@section Architecture}</li>
14 <li>{@section License}</li>
ef44ade @evax Initial documentation
evax authored
15 </ol>
16
17 == Overview ==
18
baa8345 @yrashk Renamed ezmq to erlzmq2
yrashk authored
19 The erlzmq2 application provides high-performance NIF based Erlang bindings
ef44ade @evax Initial documentation
evax authored
20 for the ZeroMQ messaging library.
21
22 == Downloading ==
23
baa8345 @yrashk Renamed ezmq to erlzmq2
yrashk authored
24 The erlzmq2 source code can be found on [http://github.com/zeromq/erlzmq2 GitHub]
ef44ade @evax Initial documentation
evax authored
25
26 ```
baa8345 @yrashk Renamed ezmq to erlzmq2
yrashk authored
27 $ git clone http://github.com/zeromq/erlzmq2.git
ef44ade @evax Initial documentation
evax authored
28 '''
29
4caa0ce @yrashk Added information on availability of ezmq on Agner to edocs
yrashk authored
30 It is also available on [http://erlagner.org/ Agner]:
31
32 ```
baa8345 @yrashk Renamed ezmq to erlzmq2
yrashk authored
33 $ agner build erlzmq
4caa0ce @yrashk Added information on availability of ezmq on Agner to edocs
yrashk authored
34 '''
35
9810245 @yrashk Use zeromq2-1 repo and v2.1.4 by default
yrashk authored
36 In order to build erlzmq2 against a specific version of ZeroMQ (not 'v2.1.4'), use this:
3689d57 @yrashk Updated documentation on building from agner
yrashk authored
37
38 ```
baa8345 @yrashk Renamed ezmq to erlzmq2
yrashk authored
39 $ ZEROMQ_VERSION=v<VERSION> agner build erlzmq
3689d57 @yrashk Updated documentation on building from agner
yrashk authored
40 '''
41
ef44ade @evax Initial documentation
evax authored
42 == Building ==
43
44 Build the code
45 ```
46 $ make
47 '''
48
9810245 @yrashk Use zeromq2-1 repo and v2.1.4 by default
yrashk authored
49 If you want to build against a specific version of ZeroMQ (not 'v2.1.4'), use this:
b7a25c1 @yrashk Use scripted cloning for zerom2 so that zeromq version can be passed thr...
yrashk authored
50
51 ```
52 $ ZEROMQ_VERSION=v<VERSION> make
53 '''
54
ef44ade @evax Initial documentation
evax authored
55 Build the docs
56 ```
57 $ make docs
58 '''
59
60 Run the test suite
61 ```
62 $ make test
63 '''
64
dad60ba @evax Document the performance implications of socket modes
evax authored
65 Run the benchmarks (requires [http://www.python.org python] and [http://matplotlib.sourceforge.net matplotlib])
66 ```
67 $ make bench
68 '''
69 This will run performance tests and output png graphs in the graphs directory.
70
b25a2ef @evax Add a LICENSE and expand the overview page
evax authored
71 Please note that to behave properly on your system ZeroMQ might require [http://www.zeromq.org/docs:tuning-zeromq some tuning].
72
73 == Architecture ==
74
75 The bindings use Erlang's [http://www.erlang.org/doc/man/erl_nif.html NIF (native implemented functions)] interface to achieve the best performance. One extra OS thread and one pair of inproc sockets by context are used to simulate blocking recv calls without affecting the Erlang virtual machine's responsiveness.
76
77
78 == License ==
79
80 The project is released under the MIT license.
81
Something went wrong with that request. Please try again.