[Time] Name | Message |
[03:49] yrashk
|
what's the purpose for zeromq2-1 repo?
|
[07:00] suzan_shakya
|
hi all, can anyone explain me what is zmq Context ?
|
[07:01] suzan_shakya
|
and why 1 zmq Context should be used in 1 process
|
[07:02] guido_g
|
it's the data structure holding the memory and other stuff needed to make the sockets work
|
[07:05] suzan_shakya
|
and can multiple threads use multiple contexts ?
|
[07:06] guido_g
|
why should they?
|
[07:40] suzan_shakya
|
because i dont want to pass the context to all the threads
|
[07:42] guido_g
|
it's hard to talk to someone who has half an hour delays in his answers
|
[07:43] guido_g
|
use one context per process, as described in the guide
|
[07:43] guido_g
|
otherwise you're not able to use inproc sockets
|
[07:44] guido_g
|
i'm off, getting some breakfast
|
[08:02] suzan_shakya
|
ok. thanks guido_g. I was also away for some breakfast :)
|
[08:14] mikko
|
suzan_shakya: threads can use inproc:// transport within the same context
|
[08:15] mikko
|
suzan_shakya: that is probably the most important thing you lose if you setup context per thread
|
[08:18] suzan_shakya
|
mikey_w: oh. thanks mikko
|
[08:18] suzan_shakya
|
mikko: i got it now. thanks for the answer
|
[08:27] sejo
|
hey all I'm trying to use multiple workers (with zmq.PULL) but when i send a document to the socket, I never neem to receive it?
|
[08:32] guido_g
|
re
|
[08:48] guido_g
|
sejo: first and before all, show the code you run, otherwise everything else would be guessing
|
[08:49] guido_g
|
sejo: use a pste-bin like https://gist.github.com/
|
[08:52] Guthur
|
pieterh: I tried a C version of that code last night
|
[08:52] Guthur
|
no errno 4, unfortunately
|
[09:16] mikko
|
what is errno 4 on your platform?
|
[09:19] Guthur
|
mikko: Interrupted System Call
|
[09:19] Guthur
|
Ubuntu 10.04
|
[09:20] mikko
|
EINTR, hmm
|
[09:20] Guthur
|
I'm a little stumped as to what to do about it
|
[09:20] mikko
|
there are a couple of situations where you see EINTR
|
[09:20] mikko
|
one is that the context is being terminated
|
[09:21] Guthur
|
I think it's something to do with Mono
|
[09:21] mikko
|
can it be mono gcing the context?
|
[09:22] Guthur
|
I don't think so, I can actually catch the exception and try again and it works
|
[09:22] Guthur
|
its on Recv that I get it
|
[09:22] Guthur
|
no sorry Poll
|
[09:23] Guthur
|
Actually it would be interesting to see if I can get it on Recv as well
|
[09:23] mikko
|
if context is being terminated each blocking socket call should exit with EINTR
|
[09:27] Guthur
|
mikko: But if that was the case surely subsequent Polls on the same socket wouldn't work
|
[09:29] Guthur
|
is there a way of checking the source of the signal
|
[10:10] private_meta
|
pieterh: I thought I read that for every thread used in a program you should use your own zmq context, or was I mistaken?
|
[10:11] guido_g
|
no, that's not the case
|
[10:11] guido_g
|
as said, one process should use one context
|
[10:11] private_meta
|
hmm
|
[10:12] private_meta
|
Well, the problem is, if a context is used by more than one thread, apparently, the read throws an exception in the thread if one of the threads terminates the context
|
[10:13] private_meta
|
I'm just curious as in none of the C++ examples this behavior is treated
|
[10:13] guido_g
|
there is no problem at all
|
[10:13] guido_g
|
just don't do it
|
[10:13] private_meta
|
don't do what?
|
[10:13] guido_g
|
what did you say?
|
[10:14] private_meta
|
Well, did you mean "Don't use the same context"?
|
[10:14] guido_g
|
<private_meta> Well, the problem is, if a context is used by more than one thread, apparently, the read throws an exception in the thread if one of the threads terminates the context
|
[10:14] mikko
|
dont terminate the context
|
[10:14] private_meta
|
Well, someone HAS to terminate the context in the end
|
[10:15] mikko
|
private_meta: yes
|
[10:15] private_meta
|
yeah
|
[10:15] mikko
|
but dont terminate it before the threads are done with it
|
[10:15] private_meta
|
and if the main thread does, exceptions fly wild in the threads
|
[10:15] private_meta
|
At least in the guide examples
|
[10:19] private_meta
|
Parts of the C examples use a separte context in each thread, the others use the same context as the main thread. Yet, in none of the examples the threads EVER terminate
|
[10:19] private_meta
|
so, in case of C++ the worker threads naturally will have exceptions
|
[11:18] Guthur
|
private_meta: In the examples pieter is often illustrating multiple processes in a single process
|
[11:18] Guthur
|
eg. the clienttasks and servertasks
|
[11:18] private_meta
|
multiple threads, yes
|
[11:18] private_meta
|
but he is not consistent with his use of context
|
[11:18] Guthur
|
no multiple process
|
[11:18] Guthur
|
that's why he uses multiple contexts
|
[11:19] Guthur
|
they are of course only on threads
|
[11:19] private_meta
|
He is using pthread, and for some he uses a new context, for others he doesn't
|
[11:19] private_meta
|
Sometimes he uses the same context for all threads, in others he doesn't
|
[11:20] guido_g
|
read -> Guthur> private_meta: In the examples pieter is often illustrating multiple processes in a single process
|
[11:20] Guthur
|
yeah, though he does often comment saying which ones would likely be a separate process
|
[11:20] private_meta
|
still doesn't change what I said
|
[11:21] Guthur
|
check rtdealer it has a comment like so...
|
[11:21] Guthur
|
We have two workers, here we copy the code, normally these would
|
[11:21] private_meta
|
Yes
|
[11:21] Guthur
|
run on different boxes...
|
[11:21] private_meta
|
And he uses a copied context there
|
[11:22] private_meta
|
Of course it's just for illustration
|
[11:22] private_meta
|
but, for example, the lruqueue, the c++ version, uses the same context for each thread as well, and it leads to errors
|
[11:22] private_meta
|
Because termination of the context leads to an exception that is not treated
|
[11:23] private_meta
|
It's not that big of a deal, but in my opinion, it's a bit of a problem
|
[11:24] Guthur
|
but in the original lruqueue it is not sharing contexts
|
[11:24] private_meta
|
No it isn't
|
[11:24] Guthur
|
so it's a problem with the c++ translation not the guide
|
[11:24] private_meta
|
It's a general issue with copying contexts in the guide, imho
|
[11:49] sejo
|
is there a workin twisted reactor for zmq?
|
[11:50] mikko
|
sejo: does twisted allow you to poll normal filehandle?
|
[11:50] sejo
|
mikko: I don't know
|
[11:50] guido_g
|
mikko: sure
|
[11:51] guido_g
|
sejo: why not try the provided tornado event loop?
|
[11:51] sejo
|
guido?
|
[11:51] mikko
|
i don't really know much about python
|
[11:51] sejo
|
the what?
|
[11:52] guido_g
|
sejo: http://zeromq.github.com/pyzmq/index.html http://zeromq.github.com/pyzmq/api/generated/zmq.eventloop.ioloop.html
|
[11:52] sejo
|
aha!
|
[11:53] mikko
|
hmm
|
[11:53] Guthur
|
I was about to do lmgtfy
|
[11:53] sejo
|
but I'm calling smq from a twisted app, so need to test whether that will work
|
[11:53] mikko
|
maybe python would be worth learning
|
[11:53] Guthur
|
but it's blocked at work, boohoo
|
[12:32] sejo
|
ok writing a reactor is a bit too highlevel for me
|
[12:32] sejo
|
perhaps i should just write a small socket receiver and send from there my smq messages
|
[12:32] sejo
|
zmq
|
[12:34] Guthur
|
sejo: what's your aim?
|
[12:36] sejo
|
Guthur: I use scrapy to craml websites (twisted based) and want to process the pages distributed, so send the results to a workergroup
|
[12:49] Guthur
|
well I've found that Mono on windows doesn't throw that exception, from earlier
|
[12:49] Guthur
|
it seems to be specific to linux
|
[13:31] mikko
|
Steve-o: new issue!
|
[13:31] mikko
|
exclamation mark added for emphasis
|
[13:37] private_meta
|
How do I add multiline commit comments in git?
|
[13:38] mikko
|
private_meta: probably the easiest way is to type the message on multiple lines using $EDITOR
|
[13:39] private_meta
|
mikko: how?
|
[13:39] mikko
|
git commit
|
[13:39] mikko
|
then type your message
|
[13:40] private_meta
|
ah thanks
|
[13:47] private_meta
|
pieterh: I hope the patch works like that
|
[13:51] pieterh
|
private_meta: I'm back online... just reading my emails, seen your patch, looks perfect
|
[13:51] private_meta
|
ok
|
[13:52] yrashk
|
pieterh: can you please create zeromq/erlzmq2 repo with me 'yrashk' and 'evax' added as collaborators?
|
[13:52] pieterh
|
yrashk: will do asap
|
[13:53] yrashk
|
thx
|
[13:53] yrashk
|
once it'll be there I'll do the renamings and push it
|
[14:03] pieterh
|
yrashk: since dhammika and saleyn are already admins of erlzmq, I'll make all four of you admins of erlzmq2, that ok?
|
[14:04] yrashk
|
pieterh: sure
|
[14:07] pieterh
|
yrashk: just to confirm, you're happy with a new empty repository?
|
[14:07] pieterh
|
rather than a fork of some existing one...
|
[14:07] yrashk
|
pieterh: yes, I will do renames and push it to the new repo
|
[14:07] pieterh
|
ok, you're good to go: git@github.com:zeromq/erlzmq2.git
|
[14:07] pieterh
|
:-)
|
[14:08] yrashk
|
thanks!
|
[14:09] private_meta
|
pieterh: about git, now that I made the patch. should I wait until it's commited to make a reset and work from there?
|
[14:10] pieterh
|
probably best, I'll do that now
|
[14:14] yrashk
|
pieterh: how should we address v2 introduction at the 0mq website?
|
[14:14] yrashk
|
right now the erlang binding page is solely dedicated to v1
|
[14:16] pieterh
|
yrashk: we had this issue with Lua
|
[14:16] pieterh
|
there are in fact several bindings with two or more versions
|
[14:16] pieterh
|
I solved it for Lua by just documenting both bindings on the same page, see http://www.zeromq.org/bindings:lua
|
[14:17] pieterh
|
In the case of erlzmq, document v2 at the top, and v1 below
|
[14:17] yrashk
|
ok
|
[14:17] Steve-o
|
mikko: oh!
|
[14:24] pieterh
|
private_meta: ok, patch applied... for some reason it complained on lpclient/lpserver but I fixed that up
|
[14:25] pieterh
|
if you reset and 'git pull origin master' you should get a clean state with your changes
|
[14:25] private_meta
|
pieterh: so the patch there was broken?
|
[14:25] pieterh
|
I don't think it was broken, no
|
[14:25] yrashk
|
pieterh: pushed
|
[14:25] pieterh
|
yrashk: nice!
|
[14:26] private_meta
|
mhm
|
[14:26] private_meta
|
CONFLICT (content): Merge conflict in examples/C++/lpclient.cpp
|
[14:26] pieterh
|
private_meta: yeah, something like that
|
[14:26] private_meta
|
pieterh: wouldn't a reset be beter there?
|
[14:26] pieterh
|
private_meta: did you not do a reset?
|
[14:27] private_meta
|
uhm not after the commit
|
[14:28] pieterh
|
so, do 'git log' to see the last commit before yours, then do 'git reset --hard committag'
|
[14:28] pieterh
|
committag is the UUID (or first 6 chars thereof)
|
[14:28] pieterh
|
then pull the master branch again, it'll fetch &merge everything that changed since
|
[14:29] pieterh
|
these are the joys of distributed vcs, it remains a lot easier than handling merges in svn
|
[14:30] private_meta
|
why reset to the one before mine?
|
[14:31] pieterh
|
you changed file X, I changed file X
|
[14:31] pieterh
|
we changed the same lines
|
[14:31] pieterh
|
(obviously, I used your patch)
|
[14:31] pieterh
|
well, you can resolve the conflicts by hand if you prefer
|
[14:32] pieterh
|
actually, simplest is just delete your repository entirely and re-clone from github...
|
[14:32] pieterh
|
you don't want to have commits on your history that don't exist anywhere else
|
[14:33] private_meta
|
k, I went with the latter choice
|
[14:33] private_meta
|
Is there a way to only clone the examples folder?
|
[14:33] pieterh
|
nope
|
[14:33] pieterh
|
we could eventually make the examples into a separate project
|
[14:34] pieterh
|
or even lots of projects, 1 per language
|
[14:34] pieterh
|
then you can become committer on the C++ project and it's much much simpler
|
[14:34] private_meta
|
Well, I don't think it's necessary
|
[14:34] pieterh
|
kind of overkill at the moment
|
[14:34] private_meta
|
ah, so you can't allow someone commits to only one subtree?
|
[14:34] pieterh
|
nope
|
[14:35] private_meta
|
too bad
|
[14:35] private_meta
|
works quite well that way in svn :/
|
[14:35] pieterh
|
yeah, but creating a single SVN repository is a serious task
|
[14:35] pieterh
|
creating *lots* of git repositories is trivial
|
[14:35] private_meta
|
a serious task?
|
[14:36] pieterh
|
especially if you want it to be secure and maintained and backed up
|
[14:36] pieterh
|
one does not create 1,000 svn repositories for fun
|
[14:37] pieterh
|
whereas you can literally use git repositories as an organizational tool
|
[14:38] pieterh
|
now I'm actually considering breaking the Guide into multiple repos... :-)
|
[14:40] yrashk
|
http://zeromq.github.com/erlzmq2/ :)
|
[14:40] pieterh
|
yrashk: I already tweeted that :-)
|
[14:41] pieterh
|
hang on... hey!
|
[14:41] pieterh
|
nice
|
[14:42] yrashk
|
pieterh: you used yrashk as a hashtag :D
|
[14:43] pieterh
|
ah, yes, sorry
|
[14:43] pieterh
|
fixed
|
[14:44] yrashk
|
thx!
|
[14:51] yrashk
|
pieterh: we'll most likely update the binding page today, I asked evax if he can do it (I am tired :)
|
[14:52] pieterh
|
yrashk: no stress... note that the current page is mostly HTML copied/pasted from another site.
|
[14:53] yrashk
|
yeah I can see that
|
[14:54] faha
|
hello, provide zeromq some kind of message encryption or it's necessary secure transport between client and server using *vpn* solution ?
|
[14:55] Steve-o
|
faha: or you can use tls above zeromq
|
[14:57] faha
|
Steve-o: it sounds great thx
|
[14:58] pieterh
|
faha: http://www.zeromq.org/topics:encryption
|
[14:58] pieterh
|
there is no great solution today
|
[14:58] mikko
|
Steve-o: im getting unresolved symbols with zeromq/openpgm 5.1.113
|
[14:59] Steve-o
|
which platform?
|
[14:59] mikko
|
solaris / oracle solaris studio 12.2
|
[14:59] mikko
|
sec
|
[14:59] mikko
|
http://build.zero.mq/job/openpgm-autoconf-sunstudio-solaris10/5/console
|
[14:59] mikko
|
pgm_build_revision etc are undefined
|
[15:00] mikko
|
im wondering whether those are accepted by visibility flags on the compiler?
|
[15:00] mikko
|
and oddly enough I wasn't seeing these with 5.1.110
|
[15:01] Steve-o
|
missing the two dynamic generated files
|
[15:02] Steve-o
|
but I see the GEN lines
|
[15:03] Steve-o
|
but, line 1: warning: empty translation unit ?
|
[15:03] Steve-o
|
the GEN failed?
|
[15:03] Steve-o
|
no perl, python?
|
[15:03] mikko
|
possible
|
[15:04] mikko
|
i seem to have both
|
[15:04] Steve-o
|
checking for perl... /usr/bin/perl
|
[15:04] Steve-o
|
checking for python... /opt/csw/bin/python
|
[15:04] Steve-o
|
check the content of the files?
|
[15:05] mikko
|
This is perl, v5.10.1 (csw-5.10.1*) built for i86pc-solaris-thread-multi
|
[15:05] mikko
|
Python 2.6.6 (r266:84292, Oct 12 2010, 15:43:32) [C] on sunos5
|
[15:07] faha
|
Steve-o: TLS/SSL seems to be a clean solutions ( not support multicast is not problem for me), what doest it mean "notion of hops over devices", it's something like retranslate message or "ICMP redirect"?
|
[15:08] mikko
|
faha: if you for example have a forwarder or similar device running
|
[15:08] mikko
|
your tls/ssl would be between the client and the forwarder
|
[15:08] Steve-o
|
actually I think that refers to zeromq over TLS, not TLS over zeromq
|
[15:09] Steve-o
|
faha: read this http://en.wikipedia.org/wiki/Datagram_Transport_Layer_Security
|
[15:09] Steve-o
|
mikko: GEN is building fine on Linux, check out version.c and galois_tables.c to see what the scripts produced
|
[15:11] mikko
|
Steve-o: ok, sec
|
[15:11] mikko
|
Steve-o: version.c is empty
|
[15:12] mikko
|
galois_tables.c is empty as well
|
[15:13] Steve-o
|
try a configure --disable-silent-rules --with-pgm to see the command line used for the GEN steps
|
[15:16] Steve-o
|
or just trying running perl galois_generator.pl and python version_generator.py for valid output
|
[15:17] pieterh
|
mikko, Steve-o, you're doing these tests against the 2.2 git master?
|
[15:19] Steve-o
|
I tested Windows with the rc2 and Linux with mikko's autoconf branch
|
[15:19] mikko
|
pieterh: roughly
|
[15:20] Steve-o
|
mikko: is Solaris x86 make going to break on $< or something stupid?
|
[15:21] mikko
|
Steve-o: i wonder if that is an issue with dmake vs gmake or ksh vs bash
|
[15:22] Steve-o
|
I've seen warnings that it shouldn't be used, but I've never encountered a platform that doesn't like it
|
[15:22] Steve-o
|
but then I'm using scons on Solaris
|
[15:23] mikko
|
https://build.zero.mq/job/openpgm-autoconf-sunstudio-solaris10/7/console
|
[15:23] mikko
|
builds now
|
[15:23] mikko
|
it's fairly slow, solaris in vm
|
[15:24] Steve-o
|
lol at the long command lines
|
[15:25] Steve-o
|
yup, /opt/csw/bin/python > version.c
|
[15:26] evaxsoftware
|
hi. thanks for the erlzmq2 inclusion
|
[15:26] Steve-o
|
lmao
|
[15:26] mikko
|
/usr/bin/perl > galois_tables.c
|
[15:26] mikko
|
same with perl
|
[15:26] Steve-o
|
use gmake or replace $< with the source file name
|
[15:26] mikko
|
trying the same thing with gmake now
|
[15:26] mikko
|
sec
|
[15:31] mikko
|
https://build.zero.mq/job/openpgm-autoconf-sunstudio-solaris10/9/console
|
[15:31] mikko
|
gmake building now
|
[15:34] pieterh
|
evaxsoftware: np
|
[15:34] pieterh
|
mikko: Steve-o: when you guys have this working I want to fold it into 2.1.x and make a new stable release for that
|
[15:34] pieterh
|
everyone is impatient to play with the new OpenPGM! :-)
|
[15:35] pieterh
|
you will get multiple opportunities to improve things afterwards, not an issue
|
[15:35] Steve-o
|
don't forget the other patch on the ML
|
[15:35] Steve-o
|
someone removed rate limiting by mistake
|
[15:35] evaxsoftware
|
pieterh: i'm about to edit the bindings:erlang page, is it ok if I remove the old autogenerated doc copy and paste, and rely on links to the gh-pages instead ?
|
[15:35] pieterh
|
Steve-o: ah, by default all patches on the ML go to sustrik, 2.2, not to me
|
[15:36] Steve-o
|
mikko: looks good: /opt/csw/bin/python version_generator.py > version.c
|
[15:36] pieterh
|
evaxsoftware: make any changes you like but remember there are people using erlzmq1 in production, they need docs or links to docs
|
[15:36] pieterh
|
Steve-o: shall I apply that patch to 2.1.x?
|
[15:36] evaxsoftware
|
pieterh: thanks, np
|
[15:37] CIA-103
|
zeromq2: 03Martin Sustrik 07master * r7b95c59 10/ src/ip.cpp :
|
[15:37] CIA-103
|
zeromq2: Windows build fixed
|
[15:37] CIA-103
|
zeromq2: Compilation of ip.cpp have failed because EPROTONOSUPPORT
|
[15:37] Steve-o
|
pieterh: I think sustrik must have removed it between rc1 and rc2? I have looked back at the commit log to find out
|
[15:37] yrashk
|
pieterh: well there will be a link to github pages published docs for erlzmqv1
|
[15:37] yrashk
|
so I think we're fine then
|
[15:38] pieterh
|
Sustrik isn't touching 2.1.x
|
[15:38] Steve-o
|
well at least it helped to find a bug on windows
|
[15:38] pieterh
|
but there was a patch to OpenPGM for rc2, let me check what that changed...
|
[15:40] pieterh
|
commit f4c1040ddcb579ca53fb34ef0ef83b130424070d
|
[15:41] pieterh
|
'Incorrect PGM sender/receiver creation fixed'
|
[15:41] Steve-o
|
mistake in commit fcfad5682ed7a7f51088
|
[15:42] Steve-o
|
oops, that was december
|
[15:43] Steve-o
|
fixing the windows size
|
[15:44] Steve-o
|
transmit window size, https://github.com/zeromq/zeromq2-1/commit/fcfad5682ed7a7f5108853d2a7039aedfd9a9ac2#src/pgm_socket.cpp
|
[15:46] Steve-o
|
Windows performs really badly on RX without rate limit, TX is a lot better today
|
[15:46] Steve-o
|
anyway this is the new patch for 2.1: http://lists.zeromq.org/pipermail/zeromq-dev/2011-March/009723.html
|
[15:46] Steve-o
|
alongside merging 5.1.113 and mikko's autoconf changes
|
[15:47] mikko
|
Steve-o: gmake works
|
[15:47] Steve-o
|
todo for mikko: add silent rules to zeromq autoconf
|
[15:47] Steve-o
|
mikko: yup, good, I think I can live with gmake only
|
[15:51] mikko
|
Steve-o: cool
|
[15:55] pieterh
|
Steve-o: congrats, your patch made it into 2.1 stable :-)
|
[15:58] Steve-o
|
pieterh: then someone needs to push 5.1.113 and then mikko can push the autoconf changes
|
[15:58] mikko
|
the autoconf stuff feels pretty solid to me
|
[15:58] pieterh
|
what's involved in pushing 5.1.113 and who can do that?
|
[15:58] mikko
|
pieterh: el sustrik
|
[15:58] pieterh
|
you mean into 2.1?
|
[15:58] pieterh
|
or into 2.2?
|
[15:58] mikko
|
first to master
|
[15:58] pieterh
|
that is the large patch you sent a few days ago?
|
[15:59] mikko
|
did i send a large patch?
|
[15:59] pieterh
|
I meant Steve-o
|
[15:59] mikko
|
oh
|
[15:59] Steve-o
|
i posted 5.1.110 first
|
[16:00] Steve-o
|
then mikko found a Solaris x86 bug, I found a few win64 bugs, and then a significant win32 compiler 'feature'
|
[16:00] pieterh
|
oookay
|
[16:00] mikko
|
and i've been sending incomprehensible midnight mails to steven
|
[16:00] Steve-o
|
all small one liner changes, but bumped upto 113
|
[16:00] mikko
|
and he incorporated the solaris changes
|
[16:00] pieterh
|
so let's think how to get this into 2.1 rather than bottlenecking el sustrik on it
|
[16:01] mikko
|
it needs to go to master first i think
|
[16:01] pieterh
|
there is no master
|
[16:01] pieterh
|
there is a 2.2 source git, a 2.1 release git
|
[16:01] pieterh
|
they all have master branches
|
[16:01] pieterh
|
sorry
|
[16:01] mikko
|
2.2 source git in that case
|
[16:01] pieterh
|
2.1 and 2.2 are very very close internally
|
[16:01] pieterh
|
so it's possible, still to upstream or downstream patches with minimum effort
|
[16:01] Steve-o
|
is "zeromq2" 2.2?
|
[16:02] pieterh
|
zeromq2 is "latest development version of 0MQ/2.x.x"
|
[16:02] pieterh
|
currently at 2.2
|
[16:02] Steve-o
|
so effectively trunk
|
[16:02] pieterh
|
svn terminology? hey, it's 2011, c'mon...!
|
[16:03] Steve-o
|
I'm on SVN and not moving in a hurry
|
[16:04] pieterh
|
can we prepare a patch that feeds *all* these changes into 2.1?
|
[16:04] Steve-o
|
I don't know if googlecode even supports GIT, they have some other distributed repo
|
[16:04] pieterh
|
I will test the patch, we can then upstream it to sustrik
|
[16:04] pieterh
|
I'll provide you with test packages for sanity checking
|
[16:05] pieterh
|
sustrik: if you're around, does this sound sane?
|
[16:05] Steve-o
|
googlecode has Mercurial, I'll pass on that
|
[16:06] pieterh
|
mikko: how are you and Steve-o exchanging versions now?
|
[16:07] pieterh
|
you have an autoconf branch on what repository?
|
[16:07] Steve-o
|
here: https://github.com/mkoppanen/zeromq2/tree/openpgm-autoconf
|
[16:08] pieterh
|
ok, and does that contain OpenPGM 5.1.113 as well?
|
[16:08] Steve-o
|
looks like it
|
[16:08] pieterh
|
mikko: confirm?
|
[16:09] Steve-o
|
I can see it here: https://github.com/mkoppanen/zeromq2/tree/openpgm-autoconf/foreign/openpgm
|
[16:15] mikko
|
pieterh: sorry, slightly tied up
|
[16:15] mikko
|
will be back in 10 mins
|
[16:15] pieterh
|
mikko: np, I'm checking the changes you guys made so far
|
[16:16] mikko
|
pieterh: majority of the changes are in configure.in
|
[16:17] mikko
|
pieterh: there might be some unrelated changes in that branch as well
|
[16:17] pieterh
|
so it's Makefile.am, configure.in, and a new OpenPGM package in foreign
|
[16:17] mikko
|
yes, roughly that
|
[16:17] pieterh
|
this is going into the stable 2.1 release :-)
|
[16:17] pieterh
|
no hurry...
|
[16:17] mikko
|
pieterh: i can create a pull request?
|
[16:17] mikko
|
with the exact changes
|
[16:17] pieterh
|
hmm, yes, that would be perfect
|
[16:18] pieterh
|
i've cloned your repo, refreshed both master and openpgm-autoconf branches from the source master
|
[16:18] pieterh
|
no conflicts, all clean
|
[16:19] pieterh
|
mikko: to here, please: https://github.com/zeromq/zeromq2-1
|
[16:19] mikko
|
does it build --with-pgm for you?
|
[16:19] mikko
|
pieterh: sure
|
[16:19] pieterh
|
mikko: let me assert that, 30 seconds...
|
[16:21] pieterh
|
mikko: that seems to work, one or two warnings/errors
|
[16:21] pieterh
|
configure.ac:7: installing `./missing'
|
[16:21] pieterh
|
Makefile.am: installing `./depcomp'
|
[16:21] pieterh
|
mkdir: cannot create directory `foreign/openpgm/build-staging/config': No such file or directory
|
[16:21] pieterh
|
however it completes
|
[16:21] pieterh
|
and it builds... :-)
|
[16:22] pieterh
|
I'm on Ubuntu 10.10 fwiw
|
[16:22] mikko
|
pieterh: might be some of the changes i was trying out
|
[16:22] mikko
|
pieterh: will clean up and send pull request against zeromq2-1
|
[16:22] pieterh
|
ack
|
[16:22] pieterh
|
afaics this is the last piece for 2.1 stable
|
[16:23] mikko
|
this is a major improvement
|
[16:23] mikko
|
i think
|
[16:23] Steve-o
|
the autoconf in 2.1rc2 is terrible
|
[16:23] mikko
|
also --with-pgm=libpgm-5.1.113~dfsg works
|
[16:23] mikko
|
Steve-o: zeromq?
|
[16:24] Steve-o
|
mikko: before your autoconf changes
|
[16:24] mikko
|
oh, i thought that after them :D
|
[16:25] pieterh
|
I'm going to rapidly double-check that 2.2 source builds on win32
|
[16:25] Steve-o
|
and win64
|
[16:25] pieterh
|
don't have win64... :-/
|
[16:25] pieterh
|
actually, :-)
|
[16:26] Steve-o
|
ok, was wondering if you can get away with just installing sdk 7.1 for the 64-bit compiler
|
[16:27] mikko
|
pieterh: amazon!
|
[16:27] mikko
|
ec2 has windows
|
[16:27] pieterh
|
oh, I just want to see if 7b95c5920c3318935b8cd8f3591cd5c65509f819 worked
|
[16:30] Steve-o
|
ok, catch you all tomorrow
|
[16:32] mikko
|
see you tomorrow
|
[16:34] pieterh
|
bye Steve-o
|
[16:45] pieterh
|
mikko, I'll just double-check that all your changes so far work on 2.1
|
[16:51] private_meta
|
pieterh: What's "EFSM" an abbreviation for?
|
[17:02] private_meta
|
pieterh: http://zguide.zeromq.org/page:all#toc67 second point in the first list, typo, "if no reply arrived"
|
[17:03] guido_g
|
req sockets are state-bound
|
[17:04] guido_g
|
so if try to recv before a send, you get this error
|
[17:04] guido_g
|
*if you
|
[17:05] private_meta
|
ah ok, but what does EFSM actually stand for, as an abbreviation?
|
[17:06] guido_g
|
FSM := finite state machine
|
[17:06] guido_g
|
E stands for error
|
[17:06] jfkw
|
New to zeromq, mq's in general, planning to use zeromq for remote-sites to home office replicator/aggregator.
|
[17:07] jfkw
|
Got a question about integrating pgmq (AQMP, STOMP, OpenWire) as one of the endpoints.
|
[17:07] jfkw
|
"PGMQ embeds messaging directly into PostgreSQL so that committed tuples can be published to message queues via various popular messaging protocols (AMQP, STOMP, OpenWire). Supports ActiveMQ (STOMP, OpenWire) and any transport supporting AMQP."
|
[17:08] private_meta
|
guido_g: so, the behavior of REQ Sockets can be viewed as a finite state machine where a reply can only come after a request, that is why it's called that?
|
[17:09] guido_g
|
http://api.zeromq.org/2-1-2:zmq-socket ZMQ_REQ
|
[17:09] jfkw
|
Would the application here be to read from zeromq, and have pgmq report on successful commits, removing messages as committed?
|
[17:11] private_meta
|
ah, i knew that, i was only curious about the naming
|
[17:11] pieterh
|
re
|
[17:11] guido_g
|
wb
|
[17:11] pieterh
|
private_meta: I'll clarify what EFSM means
|
[17:12] pieterh
|
jfkw: sound fine, bridging is classic way to mix different messaging technologies
|
[17:14] pieterh
|
hi guido_g :-)
|
[17:15] guido_g
|
pieterh: i've nothing to complain about today ,)
|
[17:15] pieterh
|
me neither... weird...
|
[17:17] private_meta
|
pieterh: should I tell you C guide typos (e.g. in commentaries) here or should I add that to the next patch?
|
[17:17] pieterh
|
typos in the C code?
|
[17:18] pieterh
|
either make an issue, or a patch, as you prefer
|
[17:19] private_meta
|
It's just a typo in the commentary, no need to make an issue... and I will have another patch soon I guess, I'll just add it
|
[17:19] pieterh
|
or just tell me now by irc
|
[17:20] private_meta
|
lpclient.c, in the header commentary you say to start piserver, but there's no piserver, shouldn't it be lpserver?
|
[17:20] pieterh
|
indeed, I renamed pi* to lp* at some point, thanks
|
[17:20] pieterh
|
will fix it now
|
[17:22] private_meta
|
pieterh: in the C++ folder, there still is a file called "piclient.cpp"
|
[17:22] pieterh
|
mikko: fyi I've patched 0MQ/2.1 with diffs from master..openpgm-autoconf, it builds nicely
|
[17:22] private_meta
|
and piqueue
|
[17:22] pieterh
|
private_meta: hmm, probably in all the example folders, let me remove all those then
|
[17:22] pieterh
|
thanks
|
[17:23] private_meta
|
yes, they are in least one other example folder as well
|
[17:23] pieterh
|
these stubs get generated automatically
|
[17:23] private_meta
|
They weren't deleted at rename properlyÃ
|
[17:23] private_meta
|
?
|
[17:23] private_meta
|
Well, not important
|
[17:24] pieterh
|
private_meta: when someone builds a tool that lets me build the Guide, I'll use it... :-)
|
[17:24] pieterh
|
until then, it's an artistic process...
|
[17:24] private_meta
|
pieterh: I wasn't complaining ;)
|
[17:25] pieterh
|
nah, I know, I meant some things just require manual work
|
[17:25] pieterh
|
they're gone now...
|
[17:25] pieterh
|
the hard thing isn't doing the work, it's just realizing it needs done
|
[17:25] pieterh
|
so thanks :-)
|
[17:26] mikko
|
pieterh: nice!
|
[17:26] mikko
|
pieterh: i will try to make sure that the changes are correct
|
[17:26] pieterh
|
mikko: I'll reset it all now and wait for your pull request
|
[17:26] mikko
|
i'll try today
|
[17:26] pieterh
|
after that I'll post a test .tar.gz so we can double-check it *really* works
|
[17:26] mikko
|
been a crazy day
|
[17:26] pieterh
|
:-)
|
[17:27] private_meta
|
pieterh: do you use Wikidot as is?
|
[17:27] pieterh
|
private_meta: I spent several years making Wikidot a lot nicer to use
|
[17:27] pieterh
|
most of that work is on http://irongiant.wikidot.com
|
[17:27] jfkw
|
Is there an overview of zeromq built-in support for communicating with any of (AMQP, STOMP, OpenWire)? Most search results discuss 'vs.' not 'with'.
|
[17:27] pieterh
|
jfkw: there is no such support
|
[17:28] pieterh
|
"feel free to submit a patch" is the motto of this community
|
[17:28] private_meta
|
pieterh: just thought it might be nice if you could switch to a different language viewing of a guide example IN the example page without github redirect
|
[17:28] private_meta
|
but I don't know if that's hard to do
|
[17:28] pieterh
|
private_meta: ... it can be done
|
[17:28] private_meta
|
like, click on C++ and the example viewed in there is C++ instead of C
|
[17:29] pieterh
|
but it needs translation of the examples to be more complete
|
[17:29] pieterh
|
there are some tricks that can be used...
|
[17:29] private_meta
|
hmm... You already mark the examples translated by printing the language binding name in bold, so only allowing the bold ones to be selected might be a solution there
|
[17:29] private_meta
|
but, it's just a nice to have
|
[17:29] pieterh
|
it's not that simple...
|
[17:30] pieterh
|
first problem is that currently the C code is included inline in the page
|
[17:30] pieterh
|
including every language would make the pages (much) too large
|
[17:30] pieterh
|
so it means moving examples to their own page
|
[17:31] private_meta
|
Not necessarily
|
[17:31] pieterh
|
that could be nice anyhow, it would avoid githubbing
|
[17:31] pieterh
|
yes, necessarily
|
[17:31] private_meta
|
Using Javascript you could replace text in certain places
|
[17:31] pieterh
|
I'm not even going to think about writing Javascript
|
[17:32] private_meta
|
Well, the Page is already using Javascript in the Language hide/show button
|
[17:33] private_meta
|
The advantage of using js there I guess would be to avoid having to reload the page
|
[17:33] pieterh
|
Just because you cross a river on a bridge that someone built does not mean you want to build bridges
|
[17:33] private_meta
|
haha
|
[17:33] pieterh
|
one of the *great* benefits of Wikidot is precisely that I do not write HTML or JS
|
[17:33] pieterh
|
I write text, which magically appears
|
[17:34] pieterh
|
second problem is just visualization, Wikidot has a limited set of options
|
[17:34] pieterh
|
collapse/hide, hyperlink
|
[17:34] private_meta
|
So it would be changing a core feature
|
[17:36] lt_schmidt_jr
|
Should I expect to need a separate zmq libary compilation for AMD x64 as opposed to intel?
|
[17:36] pieterh
|
private_meta: if it takes more than 1 hour, it's out of scope
|
[17:36] pieterh
|
lt_schmidt_jr: don't think so, depends on the compiler
|
[17:37] lt_schmidt_jr
|
pieterh: thank you, I will give it a whirl
|
[17:38] pieterh
|
private_meta: what I'll think about is publishing the code examples on their own pages, so they are easier to look at
|
[17:38] pieterh
|
and then at least showing those in new tabs when you click on them
|
[17:38] pieterh
|
then it's possible to do collapsible blocks that include each language
|
[17:42] private_meta
|
hmm
|
[17:42] private_meta
|
I removed the git repo and made a new clone and the new updates weren't in there :/
|
[17:44] private_meta
|
pieterh: so WHAT of my changes did you put into the repository?
|
[17:45] pieterh
|
private_meta: all of them, maybe I forgot to push, let me check
|
[17:45] pieterh
|
private_meta: https://github.com/imatix/zguide/commit/62cae9ab3412065dabfcdb7bd227e00f43ccd066
|
[17:46] pieterh
|
all done, 3 hours ago
|
[17:46] pieterh
|
I'll make a fresh clone to double-check
|
[17:46] private_meta
|
pieterh: according to my patch file: 20 files changed, 217 insertions(+), 166 deletions(-)
|
[17:47] private_meta
|
According to your commit, Showing 2 changed files with 8 additions and 10 deletions.
|
[17:47] pieterh
|
ah, indeed... :-(
|
[17:48] pieterh
|
<insert expletive>
|
[17:48] pieterh
|
give me 4 minutes...
|
[17:48] private_meta
|
sure, take your time
|
[17:50] pieterh
|
private_meta: for some reason the patches to lpclient.c and lpserver.c came with ^M line endings
|
[17:51] pieterh
|
you edited those two files on Windows and then copied them to your virtual machine?
|
[17:51] private_meta
|
hmm...
|
[17:51] pieterh
|
I just see that now, in vim
|
[17:51] pieterh
|
so your patch failed on those two files, I fixed them, committed them, and the rest were lost
|
[17:51] private_meta
|
I don't know
|
[17:51] private_meta
|
might be possible
|
[17:52] pieterh
|
probably some feature of your Eclipse gui :-)
|
[17:52] pieterh
|
anyhow, that's the autopsy
|
[17:52] private_meta
|
shouldn't have happenend
|
[17:52] private_meta
|
happened
|
[17:52] pieterh
|
Windows should never have happened, indeed
|
[17:52] pieterh
|
we live with the consequences...
|
[17:53] pieterh
|
the illegitimate child of CP/M and too much weed
|
[17:54] pieterh
|
private_meta: ok, re-clone now, it'll be good
|
[17:55] private_meta
|
k
|
[17:55] private_meta
|
good
|
[18:37] Eruquen
|
how would I translate socklisten; while (1) { sockaccept; fork, work and communicate with client; } to zmq? further communication between clients and workers could consist of a single reply or a stream of multiple replies, sometimes requiring input from clients. clients could disconnect along the way and reconnect later. no data should be lost.
|
[18:39] pieterh
|
Eruquen: have you read the Guide yet?
|
[18:42] Eruquen
|
not completely.. I'm working through the patterns right now. it all makes sense but it also makes my head explode
|
[18:43] pieterh
|
take your time
|
[19:07] Guthur
|
would polling on an inproc socket use similar mechanisms in the 0MQ engine?
|
[19:15] Guthur
|
ah ha
|
[19:15] Guthur
|
I think I may have isolated the problem with clrzmq2 on Mono on linux
|
[19:16] Guthur
|
it would appear to be something to do with Mono's implementation of threads
|
[19:16] Guthur
|
remove the threading stuff and there is no exceptions
|
[19:23] devinus
|
can somebody explain to me the difference between zeromq and rabbitmq?
|
[19:25] cremes
|
pieterh: just saw your note on the ML about critical issues for the next release
|
[19:25] cremes
|
https://github.com/zeromq/zeromq2/issues#issue/174
|
[19:26] cremes
|
looks like another user was able to confirm on a different linux (ubuntu)
|
[19:26] cremes
|
i'll do what i can to help get this fixed
|
[20:01] Guthur
|
devinus, http://www.zeromq.org/whitepapers:brokerless
|
[20:02] devinus
|
Guthur: thanks
|
[21:33] Guthur
|
binding authors, any recommendation on dealing with EINTR...
|
[21:34] Guthur
|
add logic to the binding code, or leave it to the user to catch and deal with
|
[22:15] lt_schmidt_jr
|
Hi, what version of Visual Studio is expected to work for ZMQ compilation?
|
[22:15] lt_schmidt_jr
|
Should Visual Studio 2008 suffice?
|
[22:17] Guthur
|
lt_schmidt_jr, I think it should be
|
[22:17] lt_schmidt_jr
|
thank you
|
[22:17] Guthur
|
the solution file says version 10
|
[22:17] Guthur
|
with is 2008
|
[22:17] lt_schmidt_jr
|
ah, great
|
[22:17] Guthur
|
I think it was created by visual studio 2008 express
|
[22:18] Guthur
|
studio/c++
|
[22:18] lt_schmidt_jr
|
ah, so it should work with the express version, excellent
|