View on GitHub Visit ProcessOne

exmpp

Erlang XMPP Library

Download this project as a .zip file Download this project as a tar.gz file

Features

exmpp is a fast and scalable library for the Extensible Messaging and Presence Protocol (XMPP) written in Erlang/OTP. exmpp main features:

Efficiency

exmpp benchmark

This graph shows the memory consumption of the parser for 900 parsers doing 1000 small XML parsing each. Memory consumption and CPU consumption is very stable, compared to both ejabberd and previous version of exmpp. This comparison takes only the parsing consumption into account not the processing of the result. The result of the parse is dropped immediately. The benefit is bigger for real life system, as the internal structure of exmpp are atoms and binaries.

Roadmap

Download

Source packages of released versions and daily snapshots are available at download.process-one.net/exmpp.

Installation

  1. Download a released version or a snapshot from download.process-one.net/exmpp
  2. Make sure you have the following dependencies installed:
    • Erlang/OTP R12B-5 or later version
    • expat (tested with version 2.0.1)
  3. Type the following commands:
    autoreconf -i
    ./configure
    make
    sudo make install
    

Installation from Git

You must have the latest version of the autotools, Erlang/OTP R12B-5 or later version and expat (tested with version 2.0.1).

git clone git://git.process-one.net/exmpp/mainline.git exmpp_mainline
cd exmpp_mainline
autoreconf -i
./configure
make
sudo make install

Troubleshooting

If you get this error message while compiling exmpp:

{"init terminating in do_boot",
  {undef,[{make,all,[]},
  {erl_eval,do_apply,5},
  {erl_eval,expr,5},
  {init,start_it,1},
  {init,start_em,1}]}}

it means it couldn't find in your system the file make.beam, which is part of Erlang/OTP.

If you use Debian or a related distribution: in older versions this file was included in the package erlang-nox, and in recent versions it is in erlang-tools. Of course, the package erlang-dev is also needed for the actual compiler.

Documentation

Support

You can ask, comment and discuss about exmpp in three places:


License

exmpp is released under the Erlang Public License 1.1 (EPL). A copy of the file EPLICENSE is included in the exmpp source code packages, and also available for online view as EPLICENSE in exmpp Git, and as EPLICENSE in the Erlang home page.