Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
framework for ad-hoc networks for financial applications
branch: master

Merge branch 'bld/github'

* bld/github:
  chore, import gitattributes to manually declare languages
latest commit c57accd3d7
Sebastian Freundt authored


Build Status

unserding is a simple pub-sub messaging library, much like 0mq or nanomsg, without all the transports they support and without the reliability promise, made for heavy-duty realtime delivery of time series.

unserding uses udp6 multicast to span ad-hoc topologies (on ff0x::134) and uses a simple tag-length-value wire protocol to propagate messages.


The C API is similar to pimmel's in design:

/* for the waiter */
ud_sock_t s = ud_socket(UD_SUB);

while (pselect|poll|epoll(s->fd, ...)) {
        struct ud_msg_s msg[1];

        while (ud_chck_msg(s, msg) >= 0) {
                /* inspect the message contents */
                msg->data ...

where pselect, poll, or epoll guts have been omitted for clarity.

The publisher part is similarly simple:

/* for the notifier */
ud_sock_t s = ud_socket(UD_PUB);

/* pack a simple message */
ud_pack_msg(s, (ud_msg_s){.svc = 0xffff/*test service*/,
        .dlen = 4,
        .data = "TEST",


Several dedicated projects utilise unserding networks to pass on messages, typically in the field of financial trading systems.

Most notable among these is unsermarkt, which in turn uses the tick encoding capabilities of uterus to provide real-time tick data streaming. And moreover it defines a service (that can be plugged into unsermon) to encode and decode such streams.

The unsermarkt project (aided by e.g. twsgluum) also demonstrates how to send or receive FIX messages in unserding networks.

Something went wrong with that request. Please try again.