| TIP: Click on subject to list as thread! | ANSI |
| echo: | |
|---|---|
| to: | |
| from: | |
| date: | |
| subject: | `Wait for something` TO |
MS> We are a little bit confused about what you said (or
MS> what we understand you said :-) ) last year in
MS> Colorado and what the Toolkit 3.0 online help says.
It is a confusing topic.
For reference, here is juicy bit of the the official documentation:
Topic: Read Timeout State
When the physical device driver processes a READ request packet, it can
be with Normal, No-Wait, or Wait-For-Something Timeout processing. With
Normal Timeout processing, if no data is received in the specified
period of time, the request is completed. With No-Wait Timeout
processing, the request obtains whatever data is available in the
physical device driver receive queue (at the time the request is
processed by the device driver) and returns. With Wait-For-Something
Timeout processing, the request acts like No-Wait Timeout processing.
However, if no data is available when the device driver processes the
request, the physical device driver waits until some data is available
or until the request times out due to Normal Timeout processing.
MS> "Normal Read Timeout" (NRTO) and "Wait for
something" (WFS).
In the briefest terms:
NRTO - the "timeout counter" is reset after each received character.
- A DosRead() will not return until your whole buffer is filled,
or the timeout occurs.
WFS - if there is already some data waiting in the device driver, it is
returned right away, even if it is less than the size of your
buffer (this means you can always pass a large buffer (>1k, for
example; which is VERY efficient, since there is a lot of
overhead for each DosRead).
- The entire timeout value will only transpire if no data ever
arrives.
I can't resond to your graph --- some of it has to do with when the byte
arrives in the DD, and when your application calls DosRead. Regardless,I
have not tried to document the timings with such precision; instead I
watched CPS rates and CPU usage for more-or-less streaming data (in which
case a well written multithread WFS program always wins).
--- Maximus/2 2.02p1
* Origin: Sol 3/Toronto (905)858-8488 (1:259/414)SEEN-BY: 105/42 620/243 711/401 409 410 413 430 807 808 809 934 955 712/407 SEEN-BY: 712/515 628 704 713/888 800/1 7877/2809 @PATH: 259/414 400 99 250/702 3615/50 396/1 270/101 105/103 42 712/515 @PATH: 711/808 809 934 |
|
| SOURCE: echomail via fidonet.ozzmosis.com | |
Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.