[Info-vax] RMS internals?

Hein, Nashua NH heinvandenheuvel at gmail.com
Mon Aug 10 10:49:52 EDT 2009


On Aug 10, 10:11 am, Howard S Shubs <how... at shubs.net> wrote:
> In article <sNgXXOeOf... at eisner.encompasserve.org>,
>  koeh... at eisner.nospam.encompasserve.org (Bob Koehler) wrote:
:
> >    Of course, the quick fix in this case is "set file/attributes", or
> >    maybe just changing the realvent FAB or RAB fields after doing an
> >    $OPEN.  But then you have to know what was done wrong by the user.
:
> You're working on an incorrect assumption.  I suggest you read the thread.

Not so quick Howard. Bob's suggestion has merit.
Yeah you can readily read through the file with $READ (or $QIO).
But are you going to add multi-buffering, read-ahead and such?
If you change the file to 'undefined', or fixed-512 or such, then you
can use RMS $GET and have RMS do the multi buffering ( RAB$V_RAH ) and
AST /WAIT support and such.

Using SYS$MODIFY you can do that on the fly, after the open.
You could even start out with regular gets, in case it is a regular
file, and switch to undefined and your private cut & paste segments
algorithms if and when you determine that is needed ($GET error).

Admittedly  the RMS record-io buffers will be limited to 127 blocks,
so you can do bigger=better with SYS$READ and a RAB64  or QIO

fwiw,

Hein.






More information about the Info-vax mailing list