Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
..
Failed to load latest commit information.
.gitignore
README
asyncsrv.es
hwclient.es
hwserver.es
identity.es
interrupt.es
lbbroker.es
msgqueue.es
mspoller.es
msreader.es
mtrelay.es
mtserver.es
psenvpub.es
psenvsub.es
rrbroker.es
rrclient.es
rrworker.es
rtdealer.es
rtreq.es
syncpub.es
syncsub.es
tasksink.es
tasksink2.es
taskvent.es
taskwork.es
taskwork2.es
version.es
wuclient.es
wuproxy.es
wuserver.es

README

To run an example provide the path to the `ERLZMQ` NIF wrapper and execute a `EXAMPLE` escript:

$ ERL_LIBS=/path/to/ERLZMQ ./EXAMPLE.es

Examples in Erlang

Example0MQ 2.1.7
asyncsrvyes
durapubyes
durapub2yes
durasubyes
hwclientyes
hwserveryes
identityyes
interruptyes (Erlang equiv)
lruqueueyes
msgqueueyes
mspolleryes
msreaderyes
mtrelayyes
mtserveryes
psenvpubyes
psenvsubyes
rrbrokeryes
rrclientyes
rrserveryes
rtdealeryes
rtmamayes
rtpapayes
syncpubyes
syncsubyes
tasksinkyes
tasksink2yes
taskventyes
taskworkyes
taskwork2yes
versionyes
wuclientyes
wuproxyyes
wuserveryes
bstar
bstarcli
bstarsrv2
bstarsrv
clone
clonecli1
clonecli2
clonecli3
clonecli4
clonecli5
clonecli6
clonesrv1
clonesrv2
clonesrv3
clonesrv4
clonesrv5
clonesrv6
flcliapi
flclient1
flclient2
flclient3
flserver1
flserver2
flserver3
kvmsg
kvsimple
lpclient
lpserver
lruqueue2
lruqueue3
mdbroker
mdcliapi2
mdcliapi
mdclient2
mdclient
mdworker
mdwrkapi
mmiecho
peering1
peering2
peering3
ppqueue
ppworker
rtrouter
spqueue
spworker
suisnail
ticlient
titanic
tripping
tstkvmsg
tstkvsimple

Questions for List

  • In taskvent there’s a sleep to wait on outgoing messages – I believe this isn’t needed anymore
  • Nice to have print statements for the steps in mtrelay.

Erlang Bindings Wish List:

  • Validate specific options in setsockopt - e.g. should not support lists passed to subscribe (currently using implicit conversion).

Issues

  • durabpub + durasub

    If the publisher finishes sending its 10 messages after the subscriber has gone offline, when the subscriber comes back, it never gets the messages (and the pub never exits).

    To recreate:

    1. Start pub
    2. Start sub - wait to read a few messags
    3. Kill sub and wait until the pub sends all its messages (e.g. at most 10 seconds)
    4. Restart the sub

    The sub will not get any messages. The pub won’t exit.

  • lruqueue

    Message part ordering will sometimes get messed up, resulting in badmatches. To recreate, try the example several times.

  • asyncsrv

    Tried to implement the client task check phase using a timeout with erlzmq:recv/3. I’m not sure how this is supposed to work - confused by the Ref returned in the timeout error. What is this for? Ignoring it is no good – I believe it puts the lib in a funky state.