<div dir="ltr"><div><div>On Thu, Aug 25, 2016 at 12:12 AM, David Robillard <<a href="mailto:d@drobilla.net">d@drobilla.net</a>> wrote:<br>> > The extension is as simple as it can get: A single function which requests the<br>> > next integer ID from the host whereby the function MUST be RT-safe,<br>> > non-blocking, lock-free and wait-free. New RTIDs may be requested in any of the<br>> > many LV2 thread groups.<br>><br>> I doubt the latter requirement is possible to achieve for anything but a<br>> trivial atomic integer increment.  Is that good enough for fancy use<br>> cases with many plugins operating in parallel on distinct event streams?<br><br></div>That doesn't really scale well - at least not if we're talking lots of messages. Assuming the RTIDs are not monotonically increasing, a host can "reserve" a bunch of IDs for a particular core, use them from the reserved pool until they run out, and reserve again.<br><br></div>This implies that the RTID is *just* a tag, and *only* a tag. The result is that recieving tags out of order, backwards, forwards, etc, is all valid usage of RTIDs.<br><div><div><div><br></div><div>If we're all cool with that, then no problem :) -Harry<br></div><div><br>--<br><br><a href="http://www.openavproductions.com">http://www.openavproductions.com</a></div></div></div></div>