[Time] Name | Message |
[03:59] CIA-31
|
pyzmq: 03MinRK 07gh-pages * r82d0345 10/ (39 files in 4 dirs): 2.1.7 - http://bit.ly/kJKlaz
|
[06:33] michelp
|
sneak, according to the guide, the subscriber does the flitering
|
[06:33] michelp
|
filtering
|
[06:34] michelp
|
so all messages go to all subscribers and then they get filtered
|
[07:47] sneak
|
:(
|
[10:12] asmodai
|
Opening the zeromq 2.1.7 solution file with VC++ 2008 gives me errors for not being able to load inproc_lat\inproc_lat.vcproj and inproc_thr\inproc_htr.vcproj - I see that there are still files in perf that correspond to these. Did the vcproj files get omitted from the .zip or?
|
[10:15] pieterh
|
asmodai: could be
|
[10:16] asmodai
|
The 2.0.11 zip has the files.
|
[10:16] asmodai
|
inproc is still needed in 2.1 I assume?
|
[10:16] pieterh
|
yes, sure
|
[10:16] pieterh
|
asmodai: if you find the cause, let me know and I'll fix the distro
|
[10:22] asmodai
|
looks like they got (re)added beginning of April
|
[10:23] asmodai
|
so if 2.1.7 was cut before that time, it makes sense they were cut from the release.
|
[10:23] asmodai
|
They're in git now at least.
|
[10:23] asmodai
|
Oh, but 2.1.7 is from May, curious why they wouldn't be copied along.
|
[10:24] asmodai
|
pieterh: How does the release procedure work, you use configure to cut tarballs and zipballs?
|
[10:25] pieterh
|
asmodai: yes, make dist
|
[10:31] pieterh
|
asmodai: I need to ask Mikko how configure decides what files to include... it's not all obvious to me
|
[10:33] pieterh
|
asmodai: would you create an issue for this?
|
[10:33] asmodai
|
Been a while for me since I last messed with autoconf and its ilk.
|
[10:33] asmodai
|
pieterh: Sure, geen probleem.
|
[10:34] pieterh
|
geen probleem :-)
|
[10:34] pieterh
|
if you have any idea whatsoever what the cause is, we can fix it
|
[10:34] asmodai
|
https://github.com/zeromq/zeromq2-1/issues I take it?
|
[10:35] pieterh
|
asmodai: that should be disabled, we moved to Jira
|
[10:35] pieterh
|
http://zeromq.jira.com
|
[10:35] asmodai
|
I can create a new issue there, so doesn't seem to be disabled :S
|
[10:36] pieterh
|
ah, hang on, yes, you can create it there if you like
|
[10:36] asmodai
|
Which do you prefer? :)
|
[10:36] asmodai
|
ah
|
[10:36] pieterh
|
in the jira we still need to create a component for 2.1 so we can put issues into uit
|
[10:36] pieterh
|
*it
|
[10:36] pieterh
|
i don't mind where issues go so long as we have them somewhere
|
[10:36] mikko
|
and get atlassian to fix issues ordering
|
[10:37] asmodai
|
Well, centralised helps (also for the reporters). :)
|
[10:37] pieterh
|
yes
|
[10:37] mikko
|
i noticed that in the data the top-down order was not followed
|
[10:37] pieterh
|
mikko!
|
[10:37] pieterh
|
hi
|
[10:37] mikko
|
even though it's supposed to
|
[10:37] mikko
|
not sure if they want to reimport
|
[10:37] asmodai
|
Giving the nickname, I guess I should be saying "terve mikko"
|
[10:38] pieterh
|
mikko: so what do we do with the corrupted issues?
|
[10:38] mikko
|
pieterh: waiting for atlassian to respond
|
[10:38] pieterh
|
hmm, ok
|
[10:38] mikko
|
the comments are under right issues
|
[10:38] mikko
|
but the issues themselves are numbered wrong
|
[10:38] mikko
|
the issues are a CSV import
|
[10:38] pieterh
|
mikko: any idea why specific files would be included / excluded from the configure 'make dist'?
|
[10:38] mikko
|
and i double and triple checked the data
|
[10:39] mikko
|
pieterh: they are not listed in DIST_FILES or includes or similar
|
[10:39] mikko
|
pieterh: what kind of files?
|
[10:39] pieterh
|
vcproj files in builds/msvc
|
[10:39] mikko
|
they need to be added manually as dist files
|
[10:41] pieterh
|
mysterious why some would get added, and others not, in the same tree
|
[10:41] asmodai
|
https://github.com/zeromq/zeromq2-1/issues/21 ^^
|
[10:41] pieterh
|
asmodai: bedankt
|
[10:41] asmodai
|
Graag gedaan ^^
|
[10:42] asmodai
|
Registering issues is always good to keep track of stuff. Less clutter on your mind.
|
[10:42] pieterh
|
asmodai: yes... you are welcome to track this issue and make sure we solve it, and test the fix when it's done
|
[10:42] asmodai
|
Am trying to see if ZeroMQ might be applicable for an app I am working on at work.
|
[10:42] asmodai
|
Oh, I might even be able to toss you a patch. Just been a while since I touched autoconf and friends.
|
[10:42] pieterh
|
:-)
|
[10:43] asmodai
|
Seriously? Mmm, that sucks.
|
[10:44] pieterh
|
github do not 'like email'... idiots
|
[10:44] asmodai
|
So the only way is the notification thinghy at the top of the website to inform you?
|
[10:44] pieterh
|
yes
|
[10:44] asmodai
|
Ughn, that's bad.
|
[10:44] pieterh
|
or, RSS and then some crappy rss-to-email gateway
|
[10:45] pieterh
|
this is the main reason for switching to jira
|
[10:45] asmodai
|
I never use RSS, still haven't found a decent client to manage RSS in a way that works for me.
|
[10:45] asmodai
|
Yeah, we use Jira at work. Well, my colleagues do. For my own stuff and other department projects I put up Trac.
|
[10:47] asmodai
|
pieterh: Were you the one doing the ZMQ talk at the PHP conf last weekend btw?
|
[10:47] mikko
|
asmodai: ian barber
|
[10:47] pieterh
|
asmodai: that was Ian
|
[10:47] mikko
|
pieterh: hopefully atlassian will get back soonish regarding the issues
|
[10:47] mikko
|
are issues going into jira atm?
|
[10:47] asmodai
|
Ah ok, my colleague attended, he's a PHP coder (I'm the Python guy), and he was quite impressed.
|
[10:47] pieterh
|
mikko: what's the fallback plan?
|
[10:47] mikko
|
or is it still private?
|
[10:47] pieterh
|
could we try to re-import the issues?
|
[10:48] pieterh
|
the Jira is open, public, already
|
[10:48] mikko
|
hmm, maybe we should set to private
|
[10:48] pieterh
|
I'm assuming people are still putting stuff in the github tracker, but haven't checked...
|
[10:49] mikko
|
github tracker is closed atm
|
[10:49] pieterh
|
ah, great
|
[10:49] pieterh
|
it's closed
|
[10:49] pieterh
|
goodo
|
[10:49] mikko
|
setting jira to private for now as well
|
[10:49] pieterh
|
hang on.. that won't work... where will people log issues?
|
[10:49] mikko
|
well, if we keep jira open we just need to remember which issues are from github
|
[10:49] pieterh
|
tbh I don't really care if a couple of old issues are corrupted, so long as it's not general
|
[10:49] mikko
|
i think 216 is last one from github
|
[10:50] mikko
|
let me see what atlassian responds
|
[10:50] pieterh
|
ok
|
[10:50] pieterh
|
if we decide to abandon jira, I can create an issue tracker built-in to the zeromq wiki
|
[10:51] mikko
|
it should be fine
|
[10:51] mikko
|
LIBZMQ-1 - LIBZMQ-215 are the ones that need rearranging
|
[10:51] pieterh
|
hmm
|
[10:52] pieterh
|
we can't leave it locked too long, people will get confused
|
[10:53] mikko
|
https://support.atlassian.com/browse/JST-19476
|
[10:53] mikko
|
this is the issue with atlassian
|
[10:58] s0undt3ch
|
hello ppl, is thatch the nick of the creator of salt?
|
[10:58] s0undt3ch
|
*irc nick
|
[10:58] asmodai
|
Hey there s0undt3ch :)
|
[10:59] s0undt3ch
|
asmodai: hello there!
|
[10:59] asmodai
|
s0undt3ch: I meet you in the strangest of places ;)
|
[10:59] s0undt3ch
|
asmodai: yeah! Life evolves :)
|
[11:00] s0undt3ch
|
comon interests....
|
[11:00] s0undt3ch
|
asmodai: what are you using zmq for?
|
[11:01] asmodai
|
Well, came across it a little while, looked at it, but thought it might not be appropriate for the research project I am working on.
|
[11:01] asmodai
|
Colleague went to a talk last weekend, mentioned some things and now I am testing it out.
|
[11:01] s0undt3ch
|
asmodai: have I ever talked to you about an audio monitoring tool?
|
[11:02] asmodai
|
I think I have caught flards of it over on the other channel(s)
|
[11:02] s0undt3ch
|
asmodai: it's a project initially started with twisted. Now beeing stuck at the start of it since it'll be a re-write and it should be better
|
[11:03] s0undt3ch
|
zmq will most surely be used to talk between processes.
|
[11:03] asmodai
|
Funny that, my project had Twisted as middleware as well until I tore it out because the code readability went down the hill fast.
|
[11:03] asmodai
|
Then started writing my own threaded-networking stack and protocol.
|
[11:03] s0undt3ch
|
recently saw a thread about message encription, salt project, that might also be used
|
[11:03] asmodai
|
Now seeing if maybe zmq can replace that. :)
|
[11:03] s0undt3ch
|
asmodai: gevent?
|
[11:04] s0undt3ch
|
ie, why not
|
[11:04] asmodai
|
Mmm, gevent might even work as well.
|
[11:04] s0undt3ch
|
my new approach started using eventlet but then switched to gevent
|
[11:04] asmodai
|
Problem with Twisted dominating python networking is that it's hard to find alternatives, examples and such with Google searches. :(
|
[11:05] s0undt3ch
|
indeed
|
[11:05] asmodai
|
Apparently I am one of the few who thinks Twisted's API is ugly.
|
[11:05] s0undt3ch
|
you're not alone
|
[11:05] asmodai
|
yay! :D
|
[11:06] asmodai
|
s0undt3ch: odd that I missed gevent
|
[11:06] s0undt3ch
|
asmodai: though sometimes one seems forced to use it since it covers many aspects of networking stuff
|
[11:06] s0undt3ch
|
web, ssh, ....
|
[11:07] s0undt3ch
|
asmodai: I've becode acostumed working with twisted becase of my contributions to deluge, still hate it though
|
[11:07] asmodai
|
In my case I have a 1 server, multiple client setup with TCP that has the server send a message to all, clients all start doing stuff, one client sends something back to the server, server sends a stop to all clients. And then a new round starts. Timing is critical (as much as a network allows).
|
[11:08] asmodai
|
s0undt3ch: The deferreds have scarred me :(
|
[11:09] s0undt3ch
|
asmodai: although you keep not liking it. You get acostumed to it. I found myself looking to try and do some deferred stuff with gevent. go figure
|
[11:09] asmodai
|
heh
|
[11:11] asmodai
|
woot
|
[11:11] asmodai
|
337.226 pyzmq-2.1.7.win32.zip
|
[11:11] asmodai
|
there we go
|
[11:12] s0undt3ch
|
asmodai: https://github.com/thatch45/salt, http://blip.tv/thomas-s-hatch/salt-0-8-7-presentation-5180182 ineteresting project
|
[11:12] s0undt3ch
|
errr
|
[11:12] s0undt3ch
|
*interesting
|
[11:13] asmodai
|
Sort of rsh, but way more advanced and uptodate with today's internet/systems?
|
[12:08] s0undt3ch
|
asmodai: the encription part is what interests me ;)
|
[12:09] s0undt3ch
|
th: are you thatch, Tomas S Hatch?
|
[12:09] asmodai
|
His whois says Tobias Hintze
|
[12:10] s0undt3ch
|
asmodai: yeah, forgot whois :)
|
[12:10] s0undt3ch
|
I'll idle
|
[12:13] th
|
s0undt3ch: sorry, i'm not. asmodai is right.
|
[12:14] pieterh
|
s0undt3ch: the encryption part is neat
|
[12:14] pieterh
|
key distribution over req-rep, then block encryption over pub-sub
|
[13:31] mato
|
pieterh: hi
|
[13:32] pieterh
|
hi mato
|
[13:32] pieterh
|
how's up?
|
[13:32] mato
|
pieterh: i'm working with atlassian on setting up the email notifications
|
[13:32] pieterh
|
ah, nice
|
[13:32] pieterh
|
ok, what can I do to help?
|
[13:32] mato
|
pieterh: is it ok if i set up the necessary mailbox on zeromq.org?
|
[13:32] pieterh
|
sure, of course
|
[13:32] pieterh
|
you know your way
|
[13:33] mato
|
pieterh: i think i have all the bits i need, yes
|
[13:33] pieterh
|
i'm actually halfway across the atlantic with superfast free internet...
|
[13:33] mato
|
am still waiting to see what happens with the import data though...
|
[13:33] mato
|
pieterh: seriously?
|
[13:33] pieterh
|
nah, in fact I missed my flight... :-(
|
[13:33] asmodai
|
Ouch :(
|
[13:33] mato
|
ouch
|
[13:33] pieterh
|
some story about expired esta applications...
|
[13:33] asmodai
|
Be glad that Iceland eruption is not as bad as it could've been.
|
[13:33] mato
|
oh, that crap
|
[13:34] asmodai
|
Grimsvotn could've been worse for air traffic.
|
[13:34] mato
|
the "it's not a visa, honest"
|
[13:34] pieterh
|
yeah, exactly
|
[13:34] mato
|
is sustrik around?
|
[13:34] pieterh
|
he was on email earlier
|
[13:34] pieterh
|
disappeared, mysteriously, around 9am... strange stuff
|
[13:34] mato
|
ok, maybe he's lost his phone or something
|
[13:35] mato
|
been trying to get hold of him since the weekend, no signal
|
[13:35] pieterh
|
hmm, he's been online randomly
|
[13:35] mato
|
ok. i'll catch him when he shows up
|
[13:35] mato
|
pieterh: interesting issue you asked some guy to report, fork() with libzmq
|
[13:36] pieterh
|
mato: yeah, kind of a strange one
|
[13:36] mato
|
i never even thought of it, anyway i think i know what needs to be done
|
[13:36] pieterh
|
I think I figured out a way
|
[13:36] mato
|
it's nastly because fork() and threads and sockets is just bad
|
[13:36] pieterh
|
yes
|
[13:36] mato
|
there is a way, check out my comment on the issue
|
[13:36] mato
|
https://zeromq.jira.com/browse/LIBZMQ-218
|
[13:37] mato
|
just not entirely straightforward to do portably
|
[13:37] asmodai
|
Heh, I remember the look on someone's face here when I mentioned that Windows has no native fork()-like semantics available.
|
[13:37] mato
|
actually that's good in this case since it means windows developers won't run into this particular problem :-)
|
[13:38] pieterh
|
mato: what does CLOEXEC do?
|
[13:38] mato
|
pieterh: what it says, kernel makes socket go away on exec()
|
[13:38] asmodai
|
mato: yeah, everything's a thread, definitely helps on some accounts.
|
[13:39] pieterh
|
ok... I was going to suggest to Jiri to use an external process monitor in bash
|
[13:39] pieterh
|
his problem is, afaics, that workers tend to crash randomly
|
[13:39] mato
|
pieterh: :-) well, yeah, you could do that too, but this is a problem for anyone who wants to fork()/exec() anything out of a zmq process
|
[13:40] pieterh
|
well, process management was on my list of things to forward port from SFL into librandom
|
[13:40] pieterh
|
it's extremely useful if done properly
|
[13:40] mato
|
yes, but the problem is at the moment it just won't work
|
[13:40] pieterh
|
indeed
|
[13:40] asmodai
|
But wait, the semantics for fork() and exec() are quite different. Fork() duplicates whereas exec() replaces the executable with another one. Can't expect sockets to stay open in the latter case.
|
[13:41] asmodai
|
Or am I missing something obvious here?
|
[13:41] mato
|
asmodai: 'cept that they do, thems the original UNIX semantics
|
[13:41] pieterh
|
asmodai: yeah, but in POSIX you always fork and then exec, but handles aren't closed by default by the exec
|
[13:41] asmodai
|
Ah
|
[13:41] asmodai
|
Right, ok
|
[13:41] asmodai
|
Forgot that typical use case
|
[13:41] pieterh
|
it'd be possible to fork/exec before opening any 0MQ sockets
|
[13:42] pieterh
|
but in this case the process creating child processes needs 0MQ communication to the outside world
|
[13:42] mato
|
yes, but in Jiri's case he wants to spawn the process after receiving some external command
|
[13:42] mato
|
yes
|
[13:42] pieterh
|
yeah
|
[13:42] mato
|
anyway, it's a common use case, worth fixing
|
[13:42] pieterh
|
mos def
|
[13:42] mato
|
at least for those platforms that have CLOEXEC
|
[13:42] mikko
|
mato: https://support.atlassian.com/browse/JST-19476
|
[13:42] mikko
|
i think you can access that
|
[13:42] mikko
|
if not, let me know
|
[13:43] mato
|
mikko: can't, i think you have to add me in as collaborator or something
|
[13:43] asmodai
|
Well, FreeBSD (and I guess the other BSDs and Mac OS X) all have FD_CLOEXEC in fcntl.h at least
|
[13:44] pieterh
|
mato: the look & feel for the zeromq jira is really nice
|
[13:44] mato
|
yeah, so an autoconf test needs to check for it and then libzmq needs to use it for all sockets
|
[13:44] mato
|
pieterh: thx, it's just the default but i mucked with the colors
|
[13:44] mikko
|
mato: have you got login to atlassian jira?
|
[13:44] mato
|
mikko: yes, mato@kotelna.sk
|
[13:45] mikko
|
Security Level: Reporter and Developers (Only the reporter of the issue and Atlassian can see it.)
|
[13:45] mikko
|
i see that
|
[13:45] mikko
|
i can't change security level there
|
[13:46] mikko
|
i can add you as cc from my inboc
|
[13:46] mikko
|
inbox*
|
[13:47] mikko
|
can you verify forwarding?
|
[13:47] mato
|
aha, yeah, hang on
|
[13:48] mato
|
done
|
[13:48] mikko
|
do you want the previous ones as well or only new ones?
|
[13:49] mato
|
all of them i guess, though i'd much rather just have access to that issue :-)
|
[13:49] mato
|
actually, no
|
[13:49] mato
|
just the new ones
|
[13:49] mato
|
all i need to know is when it gets fixed :-)
|
[13:51] mikko
|
did you get email?
|
[13:52] mikko
|
i found the cc field
|
[13:52] fredix
|
hi
|
[13:53] pieterh
|
mato: do you have a moment? random architecture question
|
[13:53] mato
|
pieterh: yes?
|
[13:53] pieterh
|
so, I'm making a virtual transport later, vtx
|
[13:53] pieterh
|
it kind of works with udp, no difficulties
|
[13:53] fredix
|
is there a example to show how a client can save on disc a message to keep a persistance ? maybe through your Paranoid Pirate Protocol ?
|
[13:53] pieterh
|
now the idea is to allow pluggable drivers for random transports
|
[13:53] pieterh
|
fredix_: look at Ch4, specifically Titanic
|
[13:54] pieterh
|
so, the model is an inproc bridge
|
[13:54] pieterh
|
application gets a pair inproc socket, the other end connects to the driver
|
[13:54] mato
|
mikko: got it, thx
|
[13:54] mikko
|
mato: you should now get updates
|
[13:54] mato
|
mikko: great, thanks
|
[13:55] bram
|
hey everyone, very silly and short question: I have zmq on windows running just fine doing what it's supposed to do, but... I can't terminate none of the while True: loops with ctrl-c...
|
[13:55] pieterh
|
I have two options... either restrict bind/connect to one transport, and so driver can recv/send to pipe directly
|
[13:55] fredix
|
pieterh, is there an example code ?
|
[13:55] pieterh
|
or else, allow multiple connects/binds but then have to redistribute via an intermediary layer
|
[13:55] mikko
|
im going to san diego on thursday so if they cant resolve it before that ill give someone my atlassian account
|
[13:55] pieterh
|
fredix_: yes, lots of it, please read the Guide text...
|
[13:55] bram
|
i.e. each time I have to go into the process manager to kill the process
|
[13:55] mikko
|
bram__: python?
|
[13:55] fredix
|
pieterh, ok thanks
|
[13:55] bram
|
mikko: um, yes, sorry :)
|
[13:55] mikko
|
bram__: i think python is eating your signal
|
[13:56] asmodai
|
try:
|
[13:56] mikko
|
i think there was an issue regarding this in pyzmq
|
[13:56] asmodai
|
while True:
|
[13:56] asmodai
|
except KeyboardInterrupt:
|
[13:56] asmodai
|
Ought to work, no?
|
[13:56] bram
|
I tried adding a try/catch KeyboardException
|
[13:56] bram
|
no such luck
|
[13:56] asmodai
|
ah yea
|
[13:56] pieterh
|
hmm, even in C I need to do my own Ctrl-C handling
|
[13:56] bram
|
something inside the recieve is eatng the ctrl-c
|
[13:56] mikko
|
bram__: have you set ZMQ_LINGER value?
|
[13:56] asmodai
|
Could be a overly generic except catching all raises.
|
[13:57] mikko
|
there are two places where things can hang
|
[13:57] mato
|
pieterh: well, i have no opinion really i think. for a pluggable transport layer i would look at formalising the interface inside libzmq.
|
[13:57] mikko
|
socket trying to send messages but can't (LINGER = 0)
|
[13:57] bram
|
mikko: I'm a real beginner... :) let me look up where/how to set that
|
[13:57] mikko
|
context waiting for sockets to be closed
|
[13:57] pieterh
|
mato: I'd like to do this inside libzmq but want to kind of develop a model sustrik can look at
|
[13:58] mato
|
pieterh: if you do it inside libzmq then there's no forwarding to speak of
|
[13:58] pieterh
|
mikko: it's unlikely to be the linger...
|
[13:58] mato
|
pieterh: you should just be able to create a plugin interface for transports. quite a bit of work but definitely possible.
|
[13:58] pieterh
|
mato: yeah but C++ is not my thing
|
[13:58] mato
|
pieterh: too bad :-)
|
[13:58] mikko
|
yet :)
|
[13:58] pieterh
|
well, not really, it works fine externally
|
[13:59] asmodai
|
No sane person should be allowed to do C++ :P
|
[13:59] mato
|
pieterh: anyway, what's the motivation for this? there aren't that many transports which are actually missing...
|
[13:59] pieterh
|
mato: two or three motivations
|
[13:59] pieterh
|
a. I need udp broadcast / unicast for the name service
|
[13:59] pieterh
|
b. I want a space to explore with other transports, e.g. http, tls, etc.
|
[13:59] bram
|
mikko: setting linger to zero, no luck...
|
[13:59] mikko
|
i think UDT makes more sense in the context of zeromq, no?
|
[13:59] pieterh
|
c. I want to demo the concept of pluggable transports for sustrik
|
[13:59] pieterh
|
UDT?
|
[14:00] pieterh
|
not for a name service...
|
[14:00] pieterh
|
for any kind of req-rep, yes
|
[14:00] mikko
|
http://udt.sourceforge.net/
|
[14:00] mikko
|
reliable udp
|
[14:00] pieterh
|
sure, e.g.
|
[14:00] pieterh
|
there are lots of interesting transports to play with
|
[14:00] mato
|
pieterh: well, personally i would start with creating a patch for a UDP transport to libzmq. then, take that are try and formalise the internal interfaces
|
[14:00] pieterh
|
mato: I tried that, failed
|
[14:00] mato
|
pieterh: :-)
|
[14:00] pieterh
|
also, the problem is defining sane patterns for each protocol
|
[14:00] pieterh
|
this needs experimental space
|
[14:01] mato
|
pieterh: hire someone with more C++-fu :-)
|
[14:01] pieterh
|
not 'patch the core lib'
|
[14:01] pieterh
|
no, that's not an answer
|
[14:01] pieterh
|
ok, np, I'll continue my merry way :-)
|
[14:01] mato
|
pieterh: no, but if you create a plugin interface for the core lib then you could do things like dynamically load transports, etc.
|
[14:01] pieterh
|
yes, I know
|
[14:01] pieterh
|
but it's really difficult semantically
|
[14:01] mato
|
anyhow, just do whatever you like :-)
|
[14:02] bram
|
any other people have some ideas about stopping 0mq from eatin' my ctrl-C's ?
|
[14:02] pieterh
|
:-) vote: performance or elegance?
|
[14:02] pieterh
|
bram__: can you catch signals in Python?
|
[14:03] bram
|
pieterh: I tried surrounding the send with a try / catch KeyboardInterrupt (which is a ctrl-C) but I think it's cought somewhere deeper inside 0mq and ignored
|
[14:03] mato
|
pieterh: either is fine for a PoC , i just think the right thing to do is have it in-core
|
[14:03] bram
|
s/cought/caught
|
[14:03] pieterh
|
bram__: well, you can check the Python code and ask the authors
|
[14:03] mato
|
bram__: what's your libzmq version?
|
[14:04] pieterh
|
what I know from the C API is if I don't explicitly trap sigint and check for it in my loops, I can't kill my programs
|
[14:04] bram
|
mato: latest msi from https://github.com/zeromq/pyzmq/downloads
|
[14:04] bram
|
so, ... 2.7.1
|
[14:04] mato
|
bram__: hmm, guess you'll have to ask the python people...
|
[14:05] bram
|
there wouldn't happen to be a pyzeromq channel now would there? :)
|
[14:06] mato
|
:-)
|
[14:06] pieterh
|
bram__: they usually hang out here, but mostly live on the USA west coast
|
[14:06] bram
|
aw chucks
|
[14:06] bram
|
oh well
|
[14:06] bram
|
meanwhile I'll just kill them in my trusty process explorer
|
[14:06] pieterh
|
I did a quick scan of the pyzmq code and didn't see any signal handling
|
[14:07] bram
|
thx for the help offered guys
|
[14:08] bram
|
btw... https://github.com/zeromq/pyzmq/issues/100
|
[14:09] bram
|
(just found that, I'll add my voice to that issue! bye!)
|
[14:13] pieterh
|
bram__: ah, I remember something about Windows
|
[14:13] pieterh
|
Ctrl-C handling is weird
|
[14:13] pieterh
|
I'll post a reply to that issue, if I can find the right answer
|
[14:35] pieterh
|
mato: sustrik is online, fwiw
|
[14:36] sustrik
|
pieterh: hi
|
[14:36] pieterh
|
hi sustrik :)
|
[14:36] sustrik
|
mato wants to move the servers in BTS on monday
|
[14:36] sustrik
|
can you let the guys know?
|
[14:36] pieterh
|
ok, I'll let the guys know
|
[14:36] sustrik
|
thanks
|
[14:36] mato
|
pieterh: yes, i know
|
[14:37] mato
|
pieterh: put me in Cc: so that i know who to talk to
|
[14:37] pieterh
|
mato: they're usually there around 10am, I'll cc you of course
|
[16:03] benoitc
|
?
|
[16:03] benoitc
|
err
|
[16:04] pieterh
|
benoitc: yeah, it happens...
|
[16:04] benoitc
|
:)
|
[17:37] sustrik
|
pieterh: there?
|
[18:07] sakella
|
hi, i have a q. Is there a way to specify the folder for swap files?
|
[18:32] CIA-31
|
libzmq: 03Martin Sustrik 07bidi-pipes * r0f6f727 10/ (29 files in 2 dirs): Move the pipe termination code to socket_base_t ...
|
[18:58] pieterh
|
sustrik: re
|
[18:58] pieterh
|
I fixed it
|
[19:36] CIA-31
|
libzmq: 03Fabien Ninoles 07bidi-pipes * r71ac91b 10/ (src/array.hpp src/pipe.hpp src/socket_base.hpp): Add multi-array support to array_item_t. ...
|
[19:38] CIA-31
|
libzmq: 03Martin Sustrik 07bidi-pipes * r3d4203d 10/ AUTHORS : Fabien Ninoles added to the AUTHORS file ...
|
[19:40] michelp
|
arrays? that sound interesting...
|
[20:01] pieterh
|
sustrik: ping?
|
[20:54] sustrik
|
pieterh: pong
|
[20:54] pieterh
|
np, found the answer
|
[20:54] sustrik
|
:)
|
[20:55] pieterh
|
was wondering how openpgm integrated into zmq's epoll/select
|
[20:55] pieterh
|
I saw that it provides fds to work with
|
[20:56] pieterh
|
hmm, I think I've cracked 0MQ sockets over UDP
|
[20:57] sustrik
|
yes, it exposes it's internal fds
|
[20:58] sustrik
|
similar to ZMQ_FD
|
[20:58] sustrik
|
udp: how does it work finally?
|
[20:58] pieterh
|
hmm, pretty nice in fact
|
[20:58] pieterh
|
kind of like an assembler version of 0MQ in some ways
|
[20:59] pieterh
|
same relaxed attitude to connections for instance
|
[20:59] pieterh
|
anyhow, it seems possible to recreate pub/sub/rep/req/push/pull semantics on top of UDP
|
[20:59] pieterh
|
needs a micro protocol on top
|
[20:59] sustrik
|
without initial handshake?
|
[20:59] pieterh
|
needs an initial handshake, yes
|
[21:00] pieterh
|
to set-up addressing
|
[21:00] sustrik
|
ack
|
[21:00] pieterh
|
e.g. subscriber has to tell publisher its address
|
[21:00] pieterh
|
nice thing, it works like zmq, i.e. retry until publisher acks
|
[21:00] pieterh
|
dropped packets is just the same as publisher absent
|
[21:00] sustrik
|
so, what you have is connection based unreliable transport, right?
|
[21:00] pieterh
|
:-) yes
|
[21:01] pieterh
|
what I will have, don't have it yet
|
[21:01] sustrik
|
have a look at DCCP
|
[21:01] sustrik
|
it's exactly that
|
[21:01] sustrik
|
and it's in linux kernel
|
[21:01] pieterh
|
problem with UDT for instance is that it doesn't expose FDs
|
[21:01] pieterh
|
you miss the point, it's about 10 lines of code to make this connection layer
|
[21:01] pieterh
|
but I will look at DCCP, yes
|
[21:02] sustrik
|
DCCP is real protocol
|
[21:02] sustrik
|
you don't have things like path MTU discovery or congestion control with raw UDP
|
[21:02] pieterh
|
for many apps, you don't need that
|
[21:03] pieterh
|
but sure, the point here is to create space for experimenting with other protocols
|
[21:03] sustrik
|
sure
|
[21:03] pieterh
|
the thing that is hardest is mapping 0MQ socket semantics
|
[21:03] pieterh
|
that is, I think, now solved
|
[21:03] pieterh
|
'hardest' is very relative here :-)
|
[21:04] sustrik
|
well, the patterns were deliberately designed to allow this kind of thing
|
[21:04] sustrik
|
ie. interjecting intermediate nodes
|
[21:04] pieterh
|
ok, I'll take DCCP as a second transport use case
|
[21:04] sustrik
|
so it should not be hard
|
[21:05] sustrik
|
SCTP is an option as well
|
[21:06] pieterh
|
yes
|
[21:06] pieterh
|
I'm not sure what value SCTP can add, yet
|
[21:06] sustrik
|
heartbeats?
|
[21:06] pieterh
|
well...
|
[21:07] pieterh
|
actually HTTP is the one I'm really after
|
[21:07] pieterh
|
and HTTPS
|
[21:07] sustrik
|
then go for it
|
[21:07] sustrik
|
more usefult than either DCCP or SCTP
|
[21:08] pieterh
|
yeah, I have all the code for a web server somewhere here... :)
|
[21:12] johnm1234
|
HTTP/HTTPS and SSL/TLS would be Very Nice to Have(â¢). :-)
|
[21:15] mikko
|
http is kinda possible with mongrel2
|
[21:21] johnm1234
|
In my case, it's as much about securing outgoing connections as much as incoming.
|
[21:21] pieterh
|
mikko: yeah, I know
|
[21:22] pieterh
|
but I think I want more control over how the patterns map to HTTP
|
[21:22] mikko
|
maybe you can rip some code from httpush
|
[21:22] mikko
|
it's a small http/zeromq bridge i wrote some time ago
|
[21:22] mikko
|
uses libevent
|
[21:23] mikko
|
https://github.com/mkoppanen/httpush
|
[21:23] pieterh
|
mikko: I actually have all the code for a web server somewhere... spent several years of my life writing them
|
[21:23] pieterh
|
but I think I'd take mongrel2's parser
|
[21:24] mikko
|
yeah, i've heard the mongrel parser is pretty decent
|
[21:25] pieterh
|
g'nite all
|
[21:25] johnm1234
|
You might also want to check out Ryan Dahl's as it's built to be bidirectional and interruptible: https://github.com/ry/http-parser
|
[21:26] pieterh
|
johnm1234: nice... is it fast?
|
[21:26] johnm1234
|
It's pretty fast and works really well with event loop based apps.
|
[21:27] pieterh
|
it looks nice, yes, I'll give it a whirl
|
[21:27] johnm1234
|
You control all of the allocation yourself, too.
|
[23:31] CIA-31
|
pyzmq: 03MinRK 07v2.1.7.1 * r695316b 10/ setup.py : comply with MSI restricted version number (+6 more commits...) - http://bit.ly/iLMPAS
|
[23:32] CIA-31
|
pyzmq: 03MinRK 07master * re68c5f6 10/ (zmq/core/constants.pyx zmq/utils/zmq_compat.h): set constants base to 2.1.0, up from 2.0.10 - http://bit.ly/kbiTTf
|
[23:32] CIA-31
|
pyzmq: 03MinRK 07master * r65d07f3 10/ (4 files in 2 dirs): match getsockopt(ZMQ_FD) type to fd_t ...
|
[23:32] CIA-31
|
pyzmq: 03MinRK 07master * r5f2784a 10/ zmq/tests/test_socket.py : more informative errors in test_int_sockopts - http://bit.ly/mnjBOD
|
[23:32] CIA-31
|
pyzmq: 03MinRK 07master * r3f0a7e3 10/ (5 files in 3 dirs): Merge branch 'win64' - http://bit.ly/lAdKMF
|
[23:32] CIA-31
|
pyzmq: 03MinRK 07master * rd504e6d 10/ README.rst : update readme for 2.1.7.1 / win64 - http://bit.ly/k7g6U9
|
[23:32] CIA-31
|
pyzmq: 03MinRK 072.1.7.1 * r1fc9447 10/ zmq/core/version.pyx : version 2.1.7.1 - http://bit.ly/k4TmMW
|
[23:32] CIA-31
|
pyzmq: 03MinRK 072.1.7.1 * r7d653b1 10/ setup.py : comply with MSI restricted version number - http://bit.ly/iLMPAS
|
[23:43] veritos
|
Holy lots-of-checkins, Batman!
|