[Time] Name | Message |
[00:00] reuben
|
there are still some problems
|
[00:00] reuben
|
but nothing major (I'm deploying it on the internet and haven't had any problems so far)
|
[00:04] tdignan
|
nice, i'm doing it
|
[00:04] tdignan
|
ok one more annoying q\
|
[00:04] tdignan
|
I tried to build the examples from github, and it said "czmq not found", but i've got all the zmq packages in ubuntu's repos installed
|
[00:05] tdignan
|
should I just build the git repo?
|
[00:07] reuben
|
czmq is a C binding
|
[00:07] reuben
|
it's on github.com/zeromq
|
[00:10] tdignan
|
I thought the lib was native C?
|
[00:11] tdignan
|
oh, C++
|
[00:11] tdignan
|
my mistake.
|
[00:12] reuben
|
yeah it's C++ with a C interface
|
[00:12] reuben
|
czmq is a C binding
|
[00:12] reuben
|
it's supposed to wrap the raw interface and help with forward compatibility
|
[00:13] reuben
|
it makes it easier to port to 3.0/master/libzmq/whatever you call it, for example
|
[00:15] tdignan
|
thanks man
|
[00:28] travlr
|
tdignan, reuben: The program used to create the flowchart diagrams is called 'ditaa'
|
[01:24] tdignan
|
travlr: awesome, they're nice charts
|
[01:24] tdignan
|
that will be valuable
|
[06:50] dfszb
|
What does it mean: Assertion failed: sessions.empty () (socket_base.cpp:133) ? I receive this when an XREP socket is destroyed
|
[06:51] sustrik
|
dfszb: are you sure you are not using same socket from 2 threads in parallel?
|
[06:52] dfszb
|
yes, pretty sure. the socket is used only from the thread that created it.
|
[06:53] sustrik
|
ok, then it's a bug
|
[06:53] sustrik
|
create a minimal test case to reproduce the problem
|
[06:53] sustrik
|
and report it to the bug tracker
|
[06:56] dfszb
|
ok, will do so (after checking again that it's from the same thread)
|
[06:56] sustrik
|
great
|
[06:56] sustrik
|
thanks
|
[08:07] turbojerry
|
hi, I have a few questions if someone can help
|
[08:08] turbojerry
|
1st can I use 0MQ over the net? what about being attacked?
|
[08:11] turbojerry
|
would 0MQ just fall over if fuzz attacked?
|
[08:11] th
|
it is advised against using 0mq openly on the net
|
[08:12] th
|
use openvpn/ipsec whatever to protect you
|
[08:12] turbojerry
|
ok, I need to handle a large number of mainly idle connections, >100,000
|
[08:13] turbojerry
|
all on one box hopefully, is this possible?
|
[08:14] th
|
yes.
|
[08:14] ssi
|
just be aware that they eat file descriptors
|
[08:14] turbojerry
|
does it matter what OS I use?
|
[08:15] ssi
|
doesn't it always? :D
|
[08:15] turbojerry
|
I.e. is 0MQ any better on say NetBSD than say Linux?
|
[08:15] sustrik
|
linux tends to be more optimised
|
[08:15] ssi
|
0MQ counts as networking, and NetBSD has Net right in the name!
|
[08:15] turbojerry
|
lol, yes, I was meaning if there is a major difference
|
[08:16] sustrik
|
netbsd would be better for security afaics
|
[08:16] turbojerry
|
if the networking stack any faster?
|
[08:16] turbojerry
|
is*
|
[08:17] sustrik
|
presumably, there was a lot of optimisation efforts in linux kernel in recent years, but only way to tell is test it yourself
|
[08:17] sustrik
|
in your particular setting
|
[08:18] turbojerry
|
ok, thanks, I was hoping to avoid that!
|
[08:19] turbojerry
|
where can I find info on using 0MQ and openvpn / ipsec and is there much difference between the performance?
|
[08:32] sustrik
|
no idea
|
[08:34] turbojerry
|
ok, well thanks anyway
|
[08:46] eintr
|
SUBSCRIBE filters are always bounded by the first frame, right?
|
[08:57] sustrik
|
yes
|
[12:02] tdignan
|
/quit
|
[12:54] jav
|
I got a software which is able to receive several types of messages, some require replies, some don't. socket(REP) dosen't seem to be the right choice for me, what should I choose? (or should I use multiple sockets?)
|
[12:55] sustrik
|
yes, use multiple sockets
|
[12:56] jav
|
Thanks.
|
[12:56] jav
|
I guess I'll do empty replies for now, and then clean it up.
|
[14:18] dev_sa
|
dimelo xtreme pojo
|
[14:18] dev_sa
|
dimelo volumen 7
|
[14:18] dev_sa
|
dimelo xtreme pojo
|
[14:19] dev_sa
|
sorry :( , i thought i was in another channel
|
[14:31] sustrik
|
:)
|
[17:45] avidal
|
Does anyone have an article detailing a workaround for dynamic port allocation (due to lack of ipc on windows) for tcp in zmq?
|
[17:51] avidal
|
I guess I can just pick a stack of ports and cycle through them. Hopefully one of them is available!
|
[17:55] whack
|
avidal: I think czmq has support for that, but otherwise you'll have to do the port selection yourself
|
[17:58] pieter_hintjens
|
avidal: check how CZMQ does it, in the zsocket_bind () method
|
[17:58] avidal
|
pieter_hintjens: i will, thanks
|
[17:58] pieter_hintjens
|
there is a defined range of ports for "ephemeral" use
|
[17:58] avidal
|
i hadn't even heard of czmq until just now
|
[17:58] pieter_hintjens
|
http://czmq.zeromq.org
|
[17:58] avidal
|
i didn't think the zeromq api was complicated enough to require a 'high level' C wrapper
|
[17:59] pieter_hintjens
|
there are four (4!) different ways of representing messages in C
|
[17:59] pieter_hintjens
|
strings, frames, whole messages, and zmq zero-copy messages
|
[18:04] reuben
|
there are?
|
[18:04] avidal
|
so it just tries all ports between ZSOCKET_DYNFROM and ZSOCKET_DYNTO and binds to the first one available?
|
[18:04] pieter_hintjens
|
avidal: yes
|
[18:04] pieter_hintjens
|
reuben: yes, at least in C all these make sense in different cases
|
[18:05] pieter_hintjens
|
in other languages, I'd guess it's frames, entire messages, and (sometimes) zero-copy messages that make sense
|
[18:05] pieter_hintjens
|
char *response = zstr_get (client_socket);
|
[18:05] pieter_hintjens
|
etc.
|
[18:05] avidal
|
pieter_hintjens: makes sense. I was thinking more along the lines of how to deal with binding to a dynamically allocated port on either end of the channel, and making sure the other end knows which port the first one connected to.
|
[18:06] pieter_hintjens
|
avidal: the zsocket_bind() method returns the final port number, which you then send to the client via some other channel
|
[18:06] pieter_hintjens
|
typical example is a three-part dialog between client, server, and broker
|
[18:07] pieter_hintjens
|
server binds and registers some resource, client requests some resource, broker directs client to server (+ dynamic port)
|
[18:07] avidal
|
I think I can just use a very simple workaround for my purposes. It'll be a very very simple application that only needs a small handful of sockets anyway
|
[18:12] reuben
|
I've always used messages
|
[18:13] pieter_hintjens
|
reuben: what language are you working in?
|
[18:15] reuben
|
pieter_hintjens, C++, but using the C interface
|
[18:15] pieter_hintjens
|
I'd look at the CZMQ api then
|
[18:15] pieter_hintjens
|
at the least, being able to fetch an entire message (all frames) in one go is extremely useful
|