Four Rinda Questions

E

entropic_rune

Rinda looks very interesting, but appears to differ in puzzling ways
from the Linda model descriptions of Carriero and Gelernter. Perhaps
someone has read the source and can answer these questions:

* Does Rinda support 'live' tuples, in the Gelernter sense of
containing running processes, rather than the Rinda::TupleEntry
alive? sense of 'not cancelled and not expired'?

* Can somebody explain Tuple expiration? I mean Rinda::SimpleRenewer,
Rinda::TupleSpace.new(period), etc. Based on the docs, it sounds like
my Tuples should have vanished, but they don't seem to in practice.=20
Frankly I don't want part of my computational state disappearing! Why
would anybody? Can this feature be turned off/on?

* What do the 'sec' arguments in Rinda::TupleSpace .read and .take do?
They don't seem to time out requests that go to sleep waiting for an
existing Tuple.

* What do the blocks for Rinda::TupleSpace .read and .take do?

Thanks!
 
E

Eric Hodel

Rinda looks very interesting, but appears to differ in puzzling ways
from the Linda model descriptions of Carriero and Gelernter. Perhaps
someone has read the source and can answer these questions:

* Does Rinda support 'live' tuples, in the Gelernter sense of
containing running processes, rather than the Rinda::TupleEntry
.alive? sense of 'not cancelled and not expired'?

No. You could make something similar by using references to a Thread.
* Can somebody explain Tuple expiration? I mean Rinda::SimpleRenewer,
Rinda::TupleSpace.new(period), etc. Based on the docs, it sounds like
my Tuples should have vanished, but they don't seem to in practice.
Frankly I don't want part of my computational state disappearing! Why
would anybody? Can this feature be turned off/on?

nil says "This tuple never expires".

false says "This tuple is always expired".

A Numeric is treated as a TTL in seconds.

A SimpleRenewer sets a recheck interval, so the liveness will be
checked every so-many seconds.
* What do the 'sec' arguments in Rinda::TupleSpace .read and .take do?
They don't seem to time out requests that go to sleep waiting for an
existing Tuple.

They should cause read/take to raise a RequestExpiredError when the
tuple expires. I'm not sure why it wouldn't, I haven't used it yet.
* What do the blocks for Rinda::TupleSpace .read and .take do?

They yield the WaitTemplateEntry created for reading/taking from the
TupleSpace. You could use it to cancel the action.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,744
Messages
2,569,484
Members
44,903
Latest member
orderPeak8CBDGummies

Latest Threads

Top