XLinkOpenStream has an issue where if both host and device try to open streams, streamId can get "desynchronized`.
Example:
The above diagram shows how host tries to open stream A and device stream B, but the results are that both streams now point to same IDs, which results in all data transfers being delivered to wrong locations.
Possible solution is to replace the creation of "unique" stream ID on remote with creating one locally for local conversion between ID<->name while replace using stream name as an unique ID.
Events would then be sent with name instead of ID, but this doesn't diverge too much from current architecture, as stream name has a fixed place in event header already.
XLinkOpenStream
has an issue where if both host and device try to open streams,streamId
can get "desynchronized`. Example:The above diagram shows how host tries to open stream
A
and device streamB
, but the results are that both streams now point to same IDs, which results in all data transfers being delivered to wrong locations.Possible solution is to replace the creation of "unique" stream ID on remote with creating one locally for local conversion between ID<->name while replace using stream name as an unique ID.
Events would then be sent with name instead of ID, but this doesn't diverge too much from current architecture, as stream name has a fixed place in event header already.