[Time] Name | Message |
[00:00] Guthur
|
nvm, something else is wrong actually
|
[00:25] Guthur
|
ok I notice some weirdness, is there an upper limit to the timeout for Polling?
|
[00:27] Guthur
|
around 500000 it stops working for me
|
[00:33] Guthur
|
oh the problem disappears in 2.1
|
[02:20] bitweiler
|
is the guide the best introduction to zeromq?
|
[03:20] bitweiler
|
are context's numbers?
|
[03:29] bitweiler
|
DerGuteMoritz: how you make contexts with zmq?
|
[06:25] gambi
|
Can I connect multiple taskers to multiple workers with out a broker inbetween if I don't need a reply from a worker? Basically a FIFO that gets filled by the taskers and emptied by the workers.
|
[06:25] ianbarber
|
not without them all knowing about each other
|
[06:26] ianbarber
|
you could have each client connect to each worker with PUSH/PULL sockets
|
[06:26] gambi
|
yeah, i've started with that ... but realized that PUSH blocks the socket
|
[06:27] ianbarber
|
i would look at using a FORWARDER device, and have that be the stable point in the architecture
|
[06:27] gambi
|
and the single point of failure :(
|
[06:27] ianbarber
|
that's a pretty easy fix, have a couple of them (or more!)
|
[06:27] gambi
|
ok
|
[06:28] gambi
|
so i do (many tasker) - device forwarder - (many worker) kinda thing?
|
[06:29] ianbarber
|
yeah
|
[06:30] gambi
|
if i don't need an reply from the worker and have to have the fastest possible way to talk to the device which pattern socket type should i use? tasker - (PUB/SUB) - dev forwarder (with stream + callback) - PUSH/PULL - worker?
|
[06:31] ianbarber
|
i would say PUSH PULL in both parts. if you have pub/sub and two forwarders, they'll both get the message, and you'll likely end up with the work done twice
|
[06:32] ianbarber
|
if you don't want to get stuck in a send() you could use ZMQ_NOBLOCk and catch when it can't send
|
[06:33] gambi
|
how can I bind multiple PUSH sockets? I thought I can only PUSH from one tasker?
|
[06:34] ianbarber
|
a single pull socket can have many pushes connected to it
|
[06:34] gambi
|
ah
|
[06:34] ianbarber
|
and vice versa
|
[06:34] gambi
|
didn't know that
|
[06:34] ianbarber
|
basically your forwarder would bind the pull
|
[06:35] ianbarber
|
so lets say you had a forwarder on tcp://129.168.0.1:5566 and tcp://129.168.0.2:5566
|
[06:35] ianbarber
|
you would then connect() both of those on each of your workers
|
[06:35] ianbarber
|
sorry, taskers
|
[06:35] gambi
|
ok
|
[06:35] ianbarber
|
they would fire tasks at each alternatively, and on the other end the pull would fair queue between all the connected incoming
|
[06:40] ianbarber
|
you should only need to bind() on the forwarder side
|
[06:40] ianbarber
|
connect on all the other sides
|
[06:40] gambi
|
ah
|
[06:40] gambi
|
omg. lol ... sorry. yes of course
|
[06:40] gambi
|
i'm new to zeromq
|
[06:41] ianbarber
|
:)
|
[06:42] gambi
|
ianbarber: thx for your help. let me try and write that out. :)
|
[06:42] ianbarber
|
no worries
|
[08:11] andrewvc
|
I've been getting some weird zmq errs
|
[08:11] andrewvc
|
I see at some point
|
[08:11] andrewvc
|
[pid 24407] pipe([14, 15]) = 0
|
[08:12] andrewvc
|
actually nm
|
[08:35] skysbird2
|
hi, buddies, lovely buddies
|
[08:35] skysbird2
|
i want to know
|
[08:36] skysbird2
|
why i cannot find the zmq_server file after i make install
|
[08:36] skysbird2
|
i downloaded from www.zeromq.org
|
[08:36] skysbird2
|
zeromq-2.0.10.tar.gz for POSIX systems
|
[08:36] skysbird2
|
this one
|
[08:38] guido_g
|
migt be because there is no such file
|
[08:38] guido_g
|
*might
|
[08:45] skysbird2
|
guido_g,but i think this file zmq_server is the kernel start up file of zeromq
|
[08:48] guido_g
|
no it's not
|
[08:48] guido_g
|
read the guide and the appropriate docs
|
[09:00] skysbird2
|
guido_g, i just cannot find appropriate docs, can you recommend one for me?
|
[09:08] ianbarber
|
skysbird2: try the guide http://zguide.zeromq.org/
|
[09:09] ianbarber
|
zeromq doesn't have a daemon, it's a library
|
[09:12] skysbird2
|
ianbarber,oh ,thank you
|
[09:12] skysbird2
|
i 've seen some document said it has zmq_server....
|
[09:12] skysbird2
|
http://www.zeromq.org/code:examples-exchange#toc3
|
[09:12] skysbird2
|
like this
|
[09:13] guido_g
|
outdated
|
[09:13] skysbird2
|
oh
|
[09:13] ianbarber
|
the hint is at the top "WARNING: This text is deprecated and refers to an old version of ÃMQ. It remains here for historical interest. DO NOT USE THIS TO LEARN ÃMQ."
|
[09:15] skysbird2
|
oh
|
[09:16] skysbird2
|
so is there some amq middleware like OpenAMQ build on zeroMQ?
|
[09:18] ianbarber
|
i would really take a skim through the guide - 0MQ uses a different set of ideas
|
[09:19] ianbarber
|
as an answer though - there are devices, which are similar, but intetionally simpler, and it's also a lot easier to write your own, so the idea is that you will have several small, specific devices in an architecture rather than one big broker
|
[09:20] skysbird2
|
ok i know
|
[09:20] skysbird2
|
just distribution
|
[09:20] skysbird2
|
because i heard that opemamq will be unsupported
|
[09:20] skysbird2
|
by 2011
|
[09:20] skysbird2
|
so i just want to find a middleware to replace OpenAMQ
|
[09:21] guido_g
|
http://www.zeromq.org/whitepapers:brokerless <- for starters
|
[09:22] ianbarber
|
skysbird2: I would say that take a look at http://www.zeromq.org/docs:welcome-from-amqp to work out whether 0MQ is right for you - if not then take a look at other AMQP systems like Rabbit I guess.
|
[09:24] mikko
|
ianbarber: you got up early
|
[09:34] ianbarber
|
mikko: had a deploy at 6 this morning
|
[14:00] Guthur
|
Are shareable (between threads) sockets being worked on
|
[14:00] Guthur
|
it would be a nice to have
|
[14:01] mikko
|
no, i dont think they are
|
[14:01] mikko
|
there should be no need for such a thing
|
[14:01] mikko
|
if you share you need to lock
|
[14:02] Guthur
|
yeah in general I suppose there isn't much need
|
[14:05] Guthur
|
curious more than anything
|
[15:06] CIA-21
|
zeromq2: 03Martin Sustrik 07master * r80ac398 10/ (14 files in 2 dirs):
|
[15:06] CIA-21
|
zeromq2: Initial implementation of reaper thread.
|
[15:06] CIA-21
|
zeromq2: Reaper thread destroys the socket asynchronously.
|
[15:06] CIA-21
|
zeromq2: zmq_term() can be interrupted by a signal (EINTR).
|
[15:06] CIA-21
|
zeromq2: zmq_socket() will return ETERM after zmq_term() was called.
|
[15:06] CIA-21
|
zeromq2: Signed-off-by: Martin Sustrik <sustrik@250bpm.com> - http://bit.ly/gQddej
|
[15:16] cremes
|
ooh, a reaper thread! just what we need to get rid of the zmq_term blocking behavior
|
[15:17] cremes
|
glad to see some progress on that piece
|
[15:20] sustrik
|
cremes: give it a try please
|
[15:20] sustrik
|
does it solve the Ctrl+C problem?
|
[15:21] cremes
|
sustrik: i'll try it out in a few hours; i'm in the middle of a refactoring and don't want to interrupt it just yet
|
[15:21] cremes
|
i'll post my results here
|
[15:22] sustrik
|
great, thanks
|
[15:52] andrewvc
|
cremes: around?
|
[15:53] cremes
|
andrewvc_: yep, but a tad busy... got something quick?
|
[15:53] andrewvc
|
mmm, just wondering if you've seen nbytes = -1 errors in ffi-rzmq before
|
[15:53] andrewvc
|
err != -1 I mean
|
[15:53] andrewvc
|
followed by libzmq quitting
|
[15:53] cremes
|
yes, i've seen that assertion before...
|
[15:54] cremes
|
um... are you on latest master or are you using 2.1 release?
|
[15:54] andrewvc
|
master
|
[15:54] andrewvc
|
2.1 release doesn't seem to work with FDs for me
|
[15:54] cremes
|
interesting... i used to see that assertion on 2.1 release but i upgraded to master about a month ago and forgot about it
|
[15:55] cremes
|
is it reproducible or is it a heisenbug?
|
[15:55] cremes
|
also, are you on osx or linux?
|
[15:55] andrewvc
|
linux
|
[15:55] andrewvc
|
totally reproduces
|
[15:55] andrewvc
|
can get it in this one exchange of messages
|
[15:55] andrewvc
|
always the same message
|
[15:56] andrewvc
|
I tried changing the message content, no diff
|
[15:56] cremes
|
put up a gist and i'll try to look at it later; i need to get back to work
|
[15:57] andrewvc
|
cool, can do
|
[16:09] andrewvc
|
sustrik around?
|
[16:20] Guthur
|
When the it says: Never initialize the same zmq_msg_t twice.
|
[16:20] Guthur
|
does that mean reuse the msg
|
[16:21] Guthur
|
or does it mean close and then init
|
[16:24] pieterh
|
Guthur, close followed by init is ok afaics
|
[16:24] mikko
|
it's ok
|
[16:24] mikko
|
initing twice without close will leak
|
[16:24] pieterh
|
Where does it say not to init twice?
|
[16:24] Guthur
|
pieterh: http://api.zeromq.org/zmq_msg_init.html
|
[16:24] Guthur
|
second caution
|
[16:25] pieterh
|
Guthur, ah, it's wrong, afaik, you might want to signal that to Mato or send a patch
|
[16:26] Guthur
|
pieterh: which part is wrong?
|
[16:26] Guthur
|
assume it is fine to pass a msg directly from a recv to a send
|
[16:26] Guthur
|
I assume*
|
[16:27] andrewvc
|
pieterh, if you can spare a minute. Any idea what would cause a bad file descriptor error followed by nbytes != -1 error in ZMQ
|
[16:27] pieterh
|
Guthur, it should probably say, "Never initialize the same zmq_msg_t twice without first doing zmq_msg_close."
|
[16:27] pieterh
|
andrewvc, did you check strerror?
|
[16:28] pieterh
|
andrewvc, uhm, I guess "bad file descriptor" is the error string?
|
[16:28] andrewvc
|
yeah
|
[16:28] andrewvc
|
I have that, followed by
|
[16:28] pieterh
|
what's the context where you get the error?
|
[16:29] andrewvc
|
sure, it's right after a send operation
|
[16:29] Guthur
|
pieterh: ah ok, I'll mention it to mato, then
|
[16:29] andrewvc
|
I get bad file descriptor, then it complains about mailbox.cpp:241 nbytes != -1
|
[16:29] andrewvc
|
on the second line
|
[16:29] Guthur
|
or maybe send a patch
|
[16:29] andrewvc
|
I straced it as well
|
[16:29] pieterh
|
andrewvc: possibly a bad bind or connect?
|
[16:30] pieterh
|
don't really know these internals, sorry
|
[16:30] andrewvc
|
well, the sockets are all local, on the loopback.
|
[16:30] andrewvc
|
no worries, thanks though
|
[16:30] pieterh
|
try replacing with ipc instead of tcp
|
[16:30] pieterh
|
just to see what happens
|
[16:30] andrewvc
|
yeah tried that
|
[16:30] pieterh
|
same error?
|
[16:30] andrewvc
|
yeah
|
[16:31] andrewvc
|
actually, I should confirm that I have a mix of sockets, maybe I got the wrong one
|
[16:31] pieterh
|
sounds something like that
|
[16:32] pieterh
|
windows or Linux?
|
[16:32] andrewvc
|
linux
|
[16:33] pieterh
|
this is where we summon sustrik
|
[16:33] andrewvc
|
hehe, that'd be awesome, I've been on the trail of this forever
|
[16:33] pieterh
|
offhand I'd say you're using a socket that failed to bind/connect
|
[16:34] andrewvc
|
well, the thing is, the app works in a stable manner for a while
|
[16:34] andrewvc
|
then it just stops
|
[16:34] andrewvc
|
but it's reproducible
|
[16:34] andrewvc
|
consistently
|
[16:34] pieterh
|
are you using assertions on all zmq_ calls?
|
[16:35] pieterh
|
clearly the socket that zmq is trying to read from is invalid
|
[16:35] andrewvc
|
hmmm, lemme see, I'm using the ruby zeromq library
|
[16:35] andrewvc
|
I've got the source open...
|
[16:35] bitweiler
|
anyone know of any docs that gives examples of how to use chicken's zeromq bindings?
|
[16:37] pieterh
|
bitweiler, the only docs I know of are at http://wiki.call-cc.org/eggref/4/zmq?action=show
|
[16:38] bitweiler
|
thanks I have those, which don't help much
|
[16:39] pieterh
|
andrewvc, if you can reproduce it consistently, I'd suggest making a stripped-down test case
|
[16:39] pieterh
|
quite often as you strip it down you'll see what you're doing wrong
|
[16:39] andrewvc
|
that's the tough part, it's part of a complex app
|
[16:39] andrewvc
|
and it was working fine
|
[16:39] pieterh
|
'was not showing the error'
|
[16:39] andrewvc
|
then all of a sudden it wasn't, I can fiddle with its inputs to get it to repro
|
[16:39] sustrik
|
i am sorry, i have to leave now
|
[16:39] sustrik
|
if there's a problem
|
[16:39] sustrik
|
just send it to the ML
|
[16:39] andrewvc
|
no worries, I'll see if I can figure out how to make a minimal case
|
[16:40] andrewvc
|
maybe I'll record the message flow and make a fake app
|
[16:40] pieterh
|
yeah
|
[16:40] pieterh
|
at least follow what's happening on that specific zmq socket
|
[16:40] mikko
|
can you attach a debugger and check errno on line 241?
|
[16:41] pieterh
|
mikko: "bad file descriptor", said andrew
|
[16:41] mikko
|
ah, i just hopped in. reading the buffer
|
[16:41] andrewvc
|
yeah, it's an inproc socket btw
|
[16:41] andrewvc
|
I switched it to inproc to help debug
|
[16:42] andrewvc
|
tried ipc as well, same deal
|
[16:42] mikko
|
sounds slightly odd
|
[16:42] andrewvc
|
It's a pub/sub if that matters
|
[16:42] andrewvc
|
it works for a little while
|
[16:43] andrewvc
|
I'm not familiar with GDB, but if you don't mind walking me through it
|
[16:43] mikko
|
can you run it inside valgrind just to see that there is nothing random going on with memory ?
|
[16:43] andrewvc
|
I would be game. I have strace output already
|
[16:43] andrewvc
|
mmm, it's a ruby app, not sure if valgrind supports that
|
[16:43] mikko
|
it does
|
[16:43] mikko
|
it doesn't understand about ruby
|
[16:44] mikko
|
i remember seeing this before somewhere
|
[16:44] andrewvc
|
well, so here's some history
|
[16:44] andrewvc
|
I used to see it in odd places
|
[16:44] andrewvc
|
so did cremes
|
[16:44] andrewvc
|
he also uses ffi-rzmq as a binding
|
[16:44] andrewvc
|
but lately upgrading to master fixed it
|
[16:45] andrewvc
|
until yesterday, now it's back with a vengeance on this one app of mine
|
[16:45] mikko
|
no, i was thinking about the recent new_sndbuf > old_sndbuf (mailbox.cpp:182)
|
[16:47] pieterh
|
andrewvc, if you're getting this no matter what the transport... then I'd say the zmq socket is in an invalid state
|
[16:48] pieterh
|
try simply tracing all work you do with that socket
|
[16:48] andrewvc
|
cool.
|
[16:48] andrewvc
|
yeah, I've got crazy debugging going on right now :) hopefully I'll have something substantial to work off of
|
[16:49] andrewvc
|
is there any call to just ask is this socket ok?
|
[16:49] andrewvc
|
or does it sound like an uncaugh assertion?
|
[16:53] pieterh
|
andrewvc, well, there is no such call but you could do a sanity test...
|
[16:53] pieterh
|
e.g. try a non-blocking recv on the socket
|
[16:53] andrewvc
|
ah, well, it's a PUB socket
|
[16:53] pieterh
|
hang on
|
[16:54] pieterh
|
it's a pub socket... so why are you ending up trying to recv from it?
|
[16:55] andrewvc
|
hmmm, could it be a weird timing thing, maybe some socket is receiving in the background
|
[16:56] andrewvc
|
and it just happens to be at the same time
|
[16:56] andrewvc
|
so it's not actually the PUB socket at all. Or maybe it's the SUB receiving?
|
[16:56] pieterh
|
weird timing things don't usually act reproducibly
|
[16:56] andrewvc
|
yeah, maybe I should split it into two processes, so the sub is separated
|
[16:57] andrewvc
|
oh, i'm not trying to receive
|
[16:57] andrewvc
|
the error is right after a send
|
[16:58] pieterh
|
well, as sustrik said, send the snippet and error message to zeromq-dev...
|
[16:58] pieterh
|
he'll be back later
|
[16:58] andrewvc
|
cool, thanks for your time pieter
|
[16:58] pieterh
|
np
|
[16:58] andrewvc
|
something fishy is going on here
|
[16:58] andrewvc
|
lol
|
[19:55] mikko
|
good evening
|
[20:00] Guthur
|
'evening mikko
|
[21:27] CIA-21
|
zeromq2: 03Martin Sustrik 07master * r5b82b1b 10/ (7 files):
|
[21:27] CIA-21
|
zeromq2: Reaper thread waits for commands rather them retrieving them periodically
|
[21:27] CIA-21
|
zeromq2: Signed-off-by: Martin Sustrik <sustrik@250bpm.com> - http://bit.ly/eNn0wP
|
[21:35] CIA-21
|
zeromq2: 03Martin Sustrik 07master * re947900 10/ builds/msvc/libzmq/libzmq.vcproj :
|
[21:35] CIA-21
|
zeromq2: reaper added to MSVC build
|
[21:35] CIA-21
|
zeromq2: Signed-off-by: Martin Sustrik <sustrik@250bpm.com> - http://bit.ly/enwx8O
|
[21:40] sustrik
|
mikko: https://github.com/zeromq/zeromq2/issues#issue/163
|
[21:41] sustrik
|
i have no idea whether it's ok or not
|
[21:41] mikko
|
will check
|
[21:42] mikko
|
majority of the shared libraries and libtool archives i have installed on my machine have executable bit set
|
[21:42] mikko
|
static libraries don't
|
[21:46] mikko
|
commented on the issue
|
[21:47] Guthur
|
what would be the use case for zmq_msg_move(3)
|
[21:47] sustrik
|
when you need to move a message payload without copying it?
|
[21:47] Guthur
|
can you not just use the original msg?
|
[21:48] sustrik
|
class X
|
[21:48] sustrik
|
{
|
[21:48] sustrik
|
message_t msg;
|
[21:48] sustrik
|
void get_message (message_t *msg_)
|
[21:48] sustrik
|
{
|
[21:48] sustrik
|
zmq_msg_move (msg_, &msg);
|
[21:48] sustrik
|
}
|
[21:48] sustrik
|
}
|
[21:48] Guthur
|
oh ok, cheers
|
[21:49] sustrik
|
:)
|
[21:49] Guthur
|
I suppose I was wondering it there was any reason I should use it when moving a msg directly from one socket to another
|
[21:50] sustrik
|
i don't think so
|
[21:50] sustrik
|
you can pass the original message directly
|
[21:51] Guthur
|
is there any lag when closing the msg for reuse in a multi part msg
|
[21:51] Guthur
|
I'm sort of wildly guessing now though
|
[21:52] sustrik
|
?
|
[21:52] mikko
|
close should be fairly predictable operation
|
[21:52] Guthur
|
Actual release of resources associated with the message object shall be postponed by ÃMQ until all users of the message or underlying data buffer have indicated it is no longer required.
|
[21:53] sustrik
|
yes
|
[21:53] sustrik
|
the buffer is not deallocated until is it pushed to the network
|
[21:53] Guthur
|
will that block close, or is it async
|
[21:54] sustrik
|
it's asyncv
|
[21:55] sustrik
|
zmq_msg_t is not a message itself
|
[21:55] sustrik
|
it's just a pointer to message
|
[21:55] sustrik
|
so what you close is the pointer
|
[21:55] sustrik
|
the message itself may remain in the memory because it may be used from elsewhere
|
[21:57] Guthur
|
ah yes, my thinking was getting a bit off there
|
[22:04] sustrik
|
mikko: btw, any answer from ivan about the AIX build env?
|
[22:05] mikko
|
sustrik: nope
|
[22:05] mikko
|
sustrik: not sure how feasible it is behind a proxy
|
[22:05] sustrik
|
understood
|
[22:05] sustrik
|
i was just curious whether he replied
|
[22:06] mikko
|
effectively they would need to hack around the proxy
|
[22:06] mikko
|
it was very interesting offer as they have HP-UX and AIX
|
[22:06] sustrik
|
yeah
|
[22:07] sustrik
|
HP has a free programme to allow you to boot and use HP-UX boxes
|
[22:07] sustrik
|
DSPP it is called
|
[22:07] sustrik
|
not sure whether there's a way to do it in regular intervals
|
[22:09] Rich_Morin
|
I would love to try using ZeroMQ under SketchUp's Ruby. However, I have no idea how to make it work. Any Rubyists around?
|
[22:09] Rich_Morin
|
The Ruby version (1.8.6, with limited library support) doesn't have sockets, but I've been able to construct a message-based protocol using EM, message files, and WebSockets.
|
[22:10] mikko
|
Rich_Morin: cremes and andrewvc_ are ruby people
|
[22:10] mikko
|
i think
|
[22:10] andrewvc
|
yeah
|
[22:10] andrewvc
|
1.8.7 doesn't work right
|
[22:10] andrewvc
|
the threading model is broken from what I've heard
|
[22:11] andrewvc
|
I've tried it, it seems to work, then a couple seconds later acts all weird and crashy
|
[22:11] Rich_Morin
|
Threading isn't really an option, in any case. However, you can set up a periodic timer.
|
[22:11] andrewvc
|
well, even w/o threading 1.8.7 is weird
|
[22:12] mikko
|
sustrik: The virtual systems offered span the HP portfolio. Available operating systems include HP-UX, OpenVMS, Microsoft® Windows®, Red Hat Enterprise Linux and Novell SuSE Linux.
|
[22:12] andrewvc
|
there's a branch of rbzmq by method_missing, that's called 1.8.7 threads. I haven't tried it, not even sure if it's considered usable by anyone
|
[22:13] sustrik
|
mikko: yep, but i think you have to book the time upfront
|
[22:13] sustrik
|
not sure whether you can book periodic uptime
|
[22:14] mikko
|
i guess it wouldn't hurt to ask if anyone has contacts there
|
[22:14] mikko
|
mailing their customer support and asking might be a lost cause
|
[22:14] sustrik
|
we have few friends at HP
|
[22:15] sustrik
|
let me introduce you...
|
[22:15] mikko
|
OpenVMS and HP-UX are both support iirc
|
[22:15] mikko
|
by zeromq i mean
|
[22:15] sustrik
|
yup, but getting hudson work on openvms may be tricky
|
[22:15] Rich_Morin
|
andrewvc_: Does ZeroMQ support a documented socket protocol? IE, Can I use EM to proxy the messages via a socket?
|
[22:15] sustrik
|
anyway, i introduce you to the guys doing openvms port
|
[22:16] sustrik
|
they are both hp engineers
|
[22:16] sustrik
|
wait a sec
|
[22:19] sustrik
|
done
|
[22:19] sustrik
|
Rich_Morin: check zmq_tcp(7)
|
[22:20] Rich_Morin
|
tnx!
|
[22:20] chris_st
|
Howdy -- any XCode folks here? I'd like to build in XCode, and use the Objective-C bindings, and am curious how to do it... never built a library in XCode before!
|
[22:21] mikko
|
sustrik: thanks
|
[22:22] Rich_Morin
|
chris_st: The Cocoa (etc) bindings are also available in MacRuby.
|
[22:22] chris_st
|
Rich_Morin: Thanks! That's cool. But I want to build an Obj-C program to use 0MQ.
|
[22:22] Rich_Morin
|
np
|
[22:23] drbobbeaty
|
chris_st: I think the best way is to look at the zmq.hpp file and see how they wrap the C calls into C++ objects. It's a simple conversion to Ocj-C methods from there.
|
[22:24] sustrik
|
there's a objective C binding out there IIRC
|
[22:24] chris_st
|
drbobbeaty: Thanks for the pointer -- appreciated. I'm going to try JeremyW's code first, since I'm lazy :-)
|
[22:34] sustrik
|
mikko: that was quick :)
|
[22:41] mikko
|
sustrik: yeah
|
[22:42] mikko
|
interesting to see what happens
|
[22:42] mikko
|
now i gotta sleep, long day tomorrow
|
[22:42] sustrik
|
cyl
|
[22:42] mikko
|
good night
|
[22:56] Rich_Morin
|
sustrik: https://github.com/chuckremes/zmqmachine looks like an interesting possibility. I already have an EM script that proxies between files ans WebSockets; it might be possible to mash my proxy up with zmqmachine.
|
[23:01] cremes
|
Rich_Morin: you want to run your code on sketchup ruby, right? i'm not familiar with that... is it a "new" runtime from google?
|
[23:02] Rich_Morin
|
No, it may actually predate Rails. The Ruby version (1.8.6, with limited library support) doesn't have sockets, but I've been able to construct a message-based protocol using EM, message files, and WebSockets.
|
[23:03] Rich_Morin
|
"want" perhaps overstates the case :-)
|
[23:03] cremes
|
oh, i see
|
[23:04] cremes
|
well, zmqmachine is just a thin wrapper around the ffi-rzmq gem which itself is a thin wrapper around libzmq
|
[23:04] cremes
|
i assume the sketchup runtime can load C extensions if you are playing with EM
|
[23:04] cremes
|
andrewvc_ has been working on a companion gem to ffi-rzmq so that 0mq sockets can be used from EM
|
[23:04] Rich_Morin
|
ouch. Even if it's possible, it would be nice to avoid.
|
[23:05] cremes
|
what ouch?
|
[23:06] Rich_Morin
|
SketchUp is used by modelers. I'd like to keep things as lightweight as possible.
|
[23:06] Rich_Morin
|
Thait said, I'm not ruling it out.
|
[23:06] cremes
|
ok; then you'll need to reimplement 0mq in pure ruby because the existing solutions just wrap the 0mq C lib
|
[23:07] cremes
|
that's a lot of work
|
[23:07] Rich_Morin
|
Another possibility would be to hack my EM proxy to speak your socket-based protocol. Any clues here?
|
[23:08] Rich_Morin
|
The proxy runs under normal Ruby, BTW
|
[23:10] cremes
|
sorry, no clues... the wire protocol in 0mq is documented but i have no particular insight on how to make it work in your situation
|
[23:12] Rich_Morin
|
thanks, anyway
|
[23:34] msch
|
hi, i've got a really strange bug. i've written a very simple zmq setup with PUSH/PULL, the PUSH code seems to work (it exists cleanly) while to PULL code just hangs in socket.recv. anyone care to take a look? https://gist.github.com/819576
|
[23:35] Seta00
|
trying to link to zmq, gcc is giving me "/usr/lib/libzmq.so: could not read symbols: File in wrong format"
|
[23:35] Seta00
|
and I've just built it
|
[23:35] Seta00
|
everything goes fine
|
[23:36] Seta00
|
oh
|
[23:36] Seta00
|
-m 32
|
[23:36] Seta00
|
damn
|
[23:42] Seta00
|
er.. configure is asking me to use --target
|
[23:42] Seta00
|
but --target i386 doesn't work
|
[23:42] Seta00
|
--target=i386 **
|