[Info-vax] Large mailboxes
Dave Froble
davef at tsoft-inc.com
Wed Dec 2 16:26:58 EST 2020
On 12/2/2020 12:38 PM, Michael Moroney wrote:
> =?UTF-8?Q?Jan-Erik_S=c3=b6derholm?= <jan-erik.soderholm at telia.com> writes:
>
>> Den 2020-12-01 kl. 21:02, skrev Michael Moroney:
>>> So in theory, is it possible to implement a VMS file as a FIFO and work
>>> efficiently? That is one process can write records in order, a second
>>> process can read and delete records in order, without RMS cruft from
>>> accumulating?
>>>
>
>> It depends on the definition of a "VMS file". I see no issues with having
>> an Rdb table as the buffer.
>
> I kind of meant RMS file, something accessed via RMS $GET/$PUT/$DELETE or their
> high level equivalents. I know if just disk space anything could be used.
>
>> Is there an indication on what "a fairly large number" of messages is?
>
> Maybe 6000 messages/day, it could vary quite a bit.
>
I believe I mentioned linked lists earlier.
If you desire to use an RMS file, a relative file could easily be used
for a linked list. Multiple ways to design it. One might be a file
with say 10,000 records, where part of the data is a link to the next
record in the list. Could have reverse links also. Have two lists, a
list of unused records, and a list of records with active messages. Use
simple logic to pop the next available unused record for use, and to add
a used record back to the list. Front or back should not matter.
Always add new messages at the end of the list of messages.
Really simple, really quick, no cruft, ....
Considerations:
If the list needs to be persistent, use record 1 for the list pointers.
Otherwise keep the pointers in memory.
No reason there cannot be more than one message list.
--
David Froble Tel: 724-529-0450
Dave Froble Enterprises, Inc. E-Mail: davef at tsoft-inc.com
DFE Ultralights, Inc.
170 Grimplin Road
Vanderbilt, PA 15486
More information about the Info-vax
mailing list