--
You received this message because you are subscribed to the Google Groups "I/O" group.
To unsubscribe from this group and stop receiving emails from it, send an email to io+unsu...@isocpp.org.
To post to this group, send email to i...@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/io/.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/io/898835cd-f6e8-4340-87a6-a5690f111b8f%40isocpp.org.
1. Shouldn't these kind of recommendations be given only after experience have been built withimplementations following these guidelines? I don't know any implementation following these recommendations.
2. I don't agree with the "device as an associative container" viewpoint because there is a lot ofinput devices which basically expose different sets of data (at different times) with different or simmilar types.At the moment, I believe that:- input and output devices interfaces, should not have the same requirements(although they probably would end up with a fez common requirements);- these devices basically output or input "channels" of data (one device, n channels, each channelwith potentially different types of data);I'll develop this last point on these forums later if I end up somewhere satisfying with that idea.Anyway, assuming that one device expose only one kind of data is, in my opinion, incorrect.
3. What if a device configurations have non-discrete values? How would such "possible configurations"could be enumerated?Maye there is too much assumptions that I/O devices have to work like a "screen"?
4. It is not clear to me what device "features" are in the context of this paper.
5. I think that "device good" is not an appropriate term. Maybe "usable" or "ready"?
6. The assumption that an event-driven interface would use condition variables or a waitingmechanism seems very unusual to me.
All event-driven interface associated to a device I have used so far are non-blocking and just assume that the callback implementor take into consideration that the callback will not be called in a known thread.
In any way, assuming that users will wait have at least one thread for a device to wait for it don't seem (to me) to reflect any real implementation.
Is there a known example of this that I don't know?
Isn't it better to not specify if a device interface all will wait or not, and let the implementors see what'same best for the device?
7. I don't understand the meaning of 3.8.
8. The iteration idea is nice but only if you assume that:- the device expose data in memory (graphics might not);- the device expose only one set of data;- the device expose data;
I would have prefered a separate way to acquire the state of a channel of data,(at least for input devices) and then have iterators on that state.
You mean that the "device" should be a collection of "channels" each one with it's type right ? We have considered that, but when we try to define the "channel" we, most of time, reached a similar specification of the device itself, possibly you may need acquire access to channel, one particular channel may have different features and configs of another channel of same device and so on, so we prefer to state this as a "composite-device" instead of device-channel and end-up with some similar definitions for device and channel.
7. I don't understand the meaning of 3.8.The "aquire" thing ? or the "wait-acquire" thing ?
8. The iteration idea is nice but only if you assume that:- the device expose data in memory (graphics might not);- the device expose only one set of data;- the device expose data;I wonder how someone iterate over something that does not exposes data ? :)
I would have prefered a separate way to acquire the state of a channel of data,(at least for input devices) and then have iterators on that state.I don't know if I understood...Consider a house fire alarm detector;1 - You acquire_wait until someone turn-on the thing ...2 - You set the config sensibility for a factor .01,or whatever config you need to set;3 - You get an iterator for input and wait. When it detects smoke, it sends you a signal;Please, tell me your version of acquire and iterate.
Thank youBR
--
You received this message because you are subscribed to the Google Groups "I/O" group.
To unsubscribe from this group and stop receiving emails from it, send an email to io+unsu...@isocpp.org.
To post to this group, send email to i...@isocpp.org.
Visit this group at http://groups.google.com/a/isocpp.org/group/io/.
To view this discussion on the web visit https://groups.google.com/a/isocpp.org/d/msgid/io/64ca58ff-fd42-4f19-9547-83cb1a265265%40isocpp.org.
I think I use "acquire" in a different way than you. I was considering acquisition like "getting access and control" of the device, which seems slightly different?
I was assuming that some devices might not expose data, but still expose configurations and way to set them.
I explained acquire, but for iteration I was considering just a way to get through the data already received, not a way to wait for it.I didn't think about it this way though.
The above link is 404 now. Use this one instead: https://github.com/cleitonsantoia/io/blob/master/N4463.pdf