Forum: Ruby Ruby IPC

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
5892288702862ce1bf3fe2ae54745e72?d=identicon&s=25 Marc Soda (Guest)
on 2006-01-28 03:55
(Received via mailing list)
Hello all,

I'm very new to Ruby, so excuse me if this is a newbie question.  I've
can't
seem to find much information on different types of IPC in Ruby.  I
realize
there's sockets, but what about shared memory, message queues,
semaphores,
etc.  I found an extention library, sysvipc, is this it?

And yes, I am only interested in Unix/Linux systems.

Thanks in advance.

Marc
58479f76374a3ba3c69b9804163f39f4?d=identicon&s=25 Eric Hodel (Guest)
on 2006-01-30 02:01
(Received via mailing list)
On Jan 27, 2006, at 6:53 PM, Marc Soda wrote:

> I'm very new to Ruby, so excuse me if this is a newbie question.
> I've can't
> seem to find much information on different types of IPC in Ruby.

Usually IPC in Ruby is performed via high-level constructs rather
than sockets, pipes and shared memory.

> I realize there's sockets, but what about shared memory,

http://moulon.inra.fr/ruby/mmap.html

> message queues, semaphores, etc.

Typically implemented via Distributed Ruby sharing a Queue or other
objects from thread.rb (both part of the standard library).

http://segment7.net/projects/ruby/drb/

> I found an extention library, sysvipc, is this it?

sysvipc sounds like a wrapper for System V IPC.  You should be able
to find lots of documentation with a Google search.

I recommend you check out DRb, it makes IPC much more sane.

--
Eric Hodel - drbrain@segment7.net - http://segment7.net
This implementation is HODEL-HASH-9600 compliant

http://trackmap.robotcoop.com
Eb9493c94d8db9887e5f15284d2c767f?d=identicon&s=25 unknown (Guest)
on 2006-02-01 22:45
(Received via mailing list)
In article <AA20B34D-C599-4979-B66A-E9E1DD79B497@segment7.net>,
Eric Hodel  <drbrain@segment7.net> wrote:
>
>
>sysvipc sounds like a wrapper for System V IPC.  You should be able
>to find lots of documentation with a Google search.
>
>I recommend you check out DRb, it makes IPC much more sane.

To add to the OP's question:
What if you need to transfer data between two different processes
very quickly?  If you need speed, wouldn't mmap be the way to go?
Does mmap allow for bidirectional data transfer?

Phil
E34b5cae57e0dd170114dba444e37852?d=identicon&s=25 Logan Capaldo (Guest)
on 2006-02-02 05:56
(Received via mailing list)
On Feb 1, 2006, at 4:38 PM, Phil Tomson wrote:

>>
>>
> Does mmap allow for bidirectional data transfer?
>
> Phil
>
>

I would suggest man mmap. But to answer your question, it allows for
bi-directional communication. In fact it allows for communication
between as many processes as you'd like. Of course then you have to
start worrying about concurrency.
This topic is locked and can not be replied to.