[Time] Name | Message |
[06:42] the_hulk
|
hi
|
[06:43] the_hulk
|
if i want to poll a data (lets say publish subscribe), what is better timer(if available) or while(1){ recv(); sleep(1)}
|
[07:24] MerlinBrasil
|
Hi all. Wish I could help, Hulk, but I'm too new at this to venture advice
|
[07:25] MerlinBrasil
|
I'm having problems myself with error msgs when I try to compile the 0mq package in VS 2010 on a 64 Bit w7 Ultimate.
|
[07:26] MerlinBrasil
|
Says it can't find some files and I can't find those files manually either
|
[07:30] the_hulk
|
which files
|
[07:39] MerlinBrasil
|
inproc_lat.vcproj
|
[07:39] sustrik
|
why sleep at all? why not simply recv()?
|
[07:40] MerlinBrasil
|
and \inproc_thr.vcproj
|
[07:40] sustrik
|
MerlinBrasil: yes, those files are missing in 2.1.7 distibution
|
[07:40] sustrik
|
you can simply ignore the projects for now
|
[07:41] sustrik
|
or you can build from git, if you want those tests
|
[07:41] sustrik
|
the issue should be fixed in next release
|
[07:41] MerlinBrasil
|
Ok, tks. Any idea when that will be released? No rush. I've got a ton to learn in the meantime
|
[07:49] sustrik
|
no idea
|
[07:50] sustrik
|
feel free to ask on the list
|
[07:50] MerlinBrasil
|
thanks, sustrik, appreciate the help
|
[07:50] sustrik
|
you are welcome
|
[07:55] the_hulk
|
sustrik, wont that kill the machine?
|
[07:57] the_hulk
|
i am trying something on ipone with zmq, when asked on iphondev they gave advice use timers instead of while(1), which i normally use
|
[08:02] the_hulk
|
i am confused, as far as i know timers are interrupts(correct me!!), then whats better timer or while(1)
|
[08:02] whack
|
the_hulk: asking "timers or a while loop" provides not nearly enough data to answer your question
|
[08:02] whack
|
if you can block the current thread's execution, then a while loop is fine. If you cannot, a timer is fine.
|
[08:03] the_hulk
|
and then what about another thread
|
[08:04] the_hulk
|
ok lemme re frame, timer (same thread) or while(1)(sep thread)..
|
[08:06] sustrik
|
i would go for separate thread + recv()
|
[08:07] sustrik
|
you shouldn't worry, recv() sleeps rather than busy-loop
|
[08:08] the_hulk
|
ok, but ll it be safe on ios?
|
[08:08] sustrik
|
what's the problem with ios?
|
[08:13] the_hulk
|
ll, UIKit you can not modify UI other than main thread, so each time when i recv values from server, i have to call something like performselectoronmainthread, which kind of sends the message, and then that message is processed by run loop of main thread.. i dont think it should create any problem.. but cause guys on irc iphonedev suggested a timer
|
[08:15] the_hulk
|
thats why little confused, and i was also keen to know, timer will be heavier (cause its kind of interrupts) than simple while(1) in sep thread
|
[08:17] sustrik
|
well, there's a gui thread, right
|
[08:17] sustrik
|
i suppose the gui thread is driven be events
|
[08:17] sustrik
|
so why not send an event to the gui thread once you get a message in a worker thread
|
[08:17] sustrik
|
?
|
[08:18] sustrik
|
the only other option, afaict, would be to hook on directly into ios event loop
|
[08:18] sustrik
|
which can be complex
|
[08:19] the_hulk
|
hmm, and steve jobs may not allow my app :p
|
[08:31] whack
|
the_hulk: the right way to do it is indeed sending an event
|
[08:50] the_hulk
|
hmm
|
[09:15] sustrik
|
i mean, that's the right way to do it as it forwards the events as soon as they arrive
|
[09:15] sustrik
|
if you don't need you application to be snappy
|
[09:16] sustrik
|
timers would do
|
[09:16] sustrik
|
sleep(1) can't be done in GUI thread anyway
|
[09:33] the_hulk
|
yeah
|
[11:24] anubhaw
|
whats the default zeromq buffer size ? is there a way to configure it ?
|
[11:25] sustrik
|
you mean the messages stored in the user space?
|
[11:25] sustrik
|
or rather underlying TCP buffers?
|
[11:28] anubhaw
|
sustrik: basically , I was trying push pull socket .. I stopped pull endpoint but push server kept buffering the packet. I am now not sure how long will it buffer .
|
[11:29] sustrik
|
default is infinite
|
[11:29] sustrik
|
set ZMQ_HWM option to limit the number of messages queued
|
[11:30] anubhaw
|
cool, thanks :)
|
[11:39] anubhaw
|
what happens when we set ZMQ::SWAP to non zero value ? does it recover the offloaded messages ?
|
[11:39] anubhaw
|
after a crash
|
[11:47] sustrik
|
nope
|
[11:48] sustrik
|
it's just a swap
|
[11:49] anubhaw
|
what is the best practice for handling failures when sending data to a remote server?
|
[11:49] anubhaw
|
I want reliability throughout the push
|
[11:49] anubhaw
|
in our cases the servers are bounced for regular code pushes
|
[11:50] anubhaw
|
and clients need to hold data for a finite amount of time and notify us of such push failures
|
[12:05] taotetek
|
anubhaw: if you need absolute reliability you might want to look into some of the various request / reply patterns possible rather than push / pull in my experience
|
[12:07] taotetek
|
anubhaw: the problem you will run into currently is that even if you set a high water mark, you'll end up with messages buffered in both the pull socket and push socket before the high water mark is hit and enforced
|
[19:46] nishttal2
|
how do i have 2 publishers on the same socket?
|
[19:49] nishttal2
|
anyone here?
|
[20:09] sustrik
|
bind the consumer
|
[20:09] sustrik
|
connect the publishers
|
[20:10] nishttal2
|
sustrik, sorry i was just trying make it a simple example by focussing on the publishers.. ideally i would want multiple consumers as well
|
[20:11] sustrik
|
then place a device into the middle
|
[20:12] nishttal2
|
to copy msgs from one port to another?
|
[20:12] sustrik
|
yes
|
[20:12] nishttal2
|
would that not become a bottleneck (in a large system)
|
[20:12] sustrik
|
sure
|
[20:12] sustrik
|
if you want to avoid the bottleneck
|
[20:13] sustrik
|
you can connect each consumer to each publisher
|
[20:13] sustrik
|
still, if it's on LAN, the switch will become the bottleneck sooner or later
|
[20:14] nishttal2
|
i see
|
[20:14] nishttal2
|
thanks for the insight.
|
[20:14] sustrik
|
you are welcome
|
[20:27] dale
|
Hi. Is there a recommended way to do RPC over zeromq? I'm looking at using protocol buffers to format the message and either use its RPC style or simply have a field for the function and another for the parameters (encoded using json). Any thoughts?
|
[20:44] whack
|
dale: I use msgpack, but protobufs would work fine, too
|
[20:45] whack
|
dale: a protobuf with a request field and a union for the request object would work
|
[20:46] whack
|
I use a 'map' in msgpack (similar to json but packs better) with "request" field and the rest of the object given to the handler for that request
|
[20:46] dale
|
whack: Ok. Haven't seen msgpack, will have a look at it.
|
[20:47] dale
|
whack: Sounds like a simple yet effective method
|
[21:51] hbnguy
|
hi
|
[21:52] hbnguy
|
was wondering if somebody could help me with something
|
[22:02] Guest59853
|
anyone here use zmq on windows and multiplex stdin with zmq sockets in zmq_poll?
|