aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
Diffstat (limited to 'docs')
-rw-r--r--docs/index.html14
1 files changed, 9 insertions, 5 deletions
diff --git a/docs/index.html b/docs/index.html
index 281bd82..c6cf474 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -1185,13 +1185,17 @@
1185 <ul> 1185 <ul>
1186 <li>Keys can be of boolean, number, string, light userdata, and deep userdata type. Tables and functions can't be keys because their identity isn't preserved when transfered from one Lua state to another.</li> 1186 <li>Keys can be of boolean, number, string, light userdata, and deep userdata type. Tables and functions can't be keys because their identity isn't preserved when transfered from one Lua state to another.</li>
1187 <li>values can be any type supported by inter-state copying (same <a href="#limitations">limits</a> as for function arguments and upvalues).</li> 1187 <li>values can be any type supported by inter-state copying (same <a href="#limitations">limits</a> as for function arguments and upvalues).</li>
1188 <li>consuming method is <tt>:receive</tt> (not in).</li> 1188 <li>
1189 <li>non-consuming method is <tt>:get</tt> (not rd).</li> 1189 Registered functions transiting into a Keeper state are converted to a special dummy function that holds its actual identity. On transit out, the identity is used to find the real function in the destination.
1190 <li>two producer-side methods: <tt>:send</tt> and <tt>:set</tt> (not out).</li> 1190 For that reason, it is not possible to run user code inside a Keeper state. The only exception is <a href="#on_state_create"><tt>on_state_create</tt></a>, which is handled in a special way.
1191 </li>
1192 <li>Consuming method is <tt>:receive</tt> (not in).</li>
1193 <li>Non-consuming method is <tt>:get</tt> (not rd).</li>
1194 <li>Two producer-side methods: <tt>:send</tt> and <tt>:set</tt> (not out).</li>
1191 <li><tt>send</tt> allows for sending multiple values -atomically- to a given key.</li> 1195 <li><tt>send</tt> allows for sending multiple values -atomically- to a given key.</li>
1192 <li><tt>receive</tt> can wait for multiple keys at once.</li> 1196 <li><tt>receive</tt> can wait for multiple keys at once.</li>
1193 <li><tt>receive</tt> has a batched mode to consume more than one value from a single key, as in <tt>linda:receive(1.0, linda.batched, "key", 3, 6).</tt></li> 1197 <li><tt>receive</tt> has a batched mode to consume more than one value from a single key, as in <tt>linda:receive(1.0, linda.batched, "key", 3, 6).</tt></li>
1194 <li>individual keys' queue length can be limited, balancing speed differences in a producer/consumer scenario (making <tt>:send</tt> wait).</li> 1198 <li>Individual keys' queue length can be limited, balancing speed differences in a producer/consumer scenario (making <tt>:send</tt> wait).</li>
1195 <li><tt>tostring(linda)</tt> returns a string of the form <tt>"Linda: &lt;opt_name&gt;"</tt></li> 1199 <li><tt>tostring(linda)</tt> returns a string of the form <tt>"Linda: &lt;opt_name&gt;"</tt></li>
1196 <li> 1200 <li>
1197 Several Linda objects may share the same <a href="#keepers">Keeper state</a>. In case there is more than one user <a href="#keepers">Keeper state</a>, assignation must be controlled with the Linda's group (an integer in <tt>[0,nb_user_keepers]</tt>). 1201 Several Linda objects may share the same <a href="#keepers">Keeper state</a>. In case there is more than one user <a href="#keepers">Keeper state</a>, assignation must be controlled with the Linda's group (an integer in <tt>[0,nb_user_keepers]</tt>).
@@ -1375,7 +1379,7 @@
1375 Whenever Lua code reads from or writes to a Linda, the mutex is acquired. If Linda limits don't block the operation, it is fulfilled, then the mutex is released.<br /> 1379 Whenever Lua code reads from or writes to a Linda, the mutex is acquired. If Linda limits don't block the operation, it is fulfilled, then the mutex is released.<br />
1376 If the Linda has to block, the mutex is released and the OS thread sleeps, waiting for a Linda operation to be signalled. When an operation occurs on the same Linda, possibly fufilling the condition, or a timeout expires, the thread wakes up.<br /> 1380 If the Linda has to block, the mutex is released and the OS thread sleeps, waiting for a Linda operation to be signalled. When an operation occurs on the same Linda, possibly fufilling the condition, or a timeout expires, the thread wakes up.<br />
1377 If the thread is woken but the condition is not yet fulfilled, it goes back to sleep, until the timeout expires.<br /> 1381 If the thread is woken but the condition is not yet fulfilled, it goes back to sleep, until the timeout expires.<br />
1378 When a lane is cancelled, the signal it is waiting on (if any) is signalled. In that case, the Linda operation will return <tt>lanes.cancel_error</tt>. 1382 When a lane is cancelled, the signal it is waiting on (if any) is signalled. In that case, the Linda operation will return <tt>lanes.cancel_error</tt>.<br />
1379</p> 1383</p>
1380 1384
1381<p> 1385<p>