[Info-vax] Large mailboxes

Stephen Hoffman seaohveh at hoffmanlabs.invalid
Fri Nov 27 14:41:07 EST 2020


On 2020-11-26 16:30:29 +0000, Marc Van Dyck said:

> Unless I mis-read it, the OpenVMS documentation does not state any size 
> limitation for permanent mailboxes. There is apparently just a 
> limitation on the size of each message, but the number of messages can
> apparently be arbitrarily high. I have made a call to $CREMBX to create 
> a mailbox for 1.000.000 messages of 200 bytes each, and VMS did not 
> complain.
> ...the maximum number of outstanding messages can be 65535.

Lob a bug report / enhancement suggestion at VSI. Doc could seemingly 
use some updates, if not also mailbox driver enhancements within 
OpenVMS.

> So my question is, why this limitation ? Is it just because when this 
> interface was written, noone imagined that there could ever be a 
> mailbox with more than 64k outstanding messages ? Or am I really going 
> to break something other than this counter if I try loading more than 
> 64k messages ?

I'd assume the mailbox device driver simply hasn't been overhauled / 
updated / enhanced for 64-bit support, but haven't looked at that 
source code in a while. Various drivers haven't been updated.

Akin to apps using event flags and logical names, the mailbox API 
doesn't really scale all that well.

Back when I was more heavily using the mailbox driver more centrally 
for app comms, I ended up splitting the app communications API layer 
into code that used shared memory (for speed) and networking (using 
DECnet and "more recently" IP) for distribution. The mailbox work 
largely became secondary to network mailbox traffic and ancillary 
discussions, and not as the primary communications path. Now I 
typically go directly for sockets, though OpenVMS updates there for 
better support of TLS and DTLS, of DNS, authentication, and related 
tasks would be welcome. I've written and worked with various apps that 
use one or more files as a ginormous ring buffer, too.

Back a couple of decades ago, shared memory comms was a more common 
topic. This often mixed with interlocked bitlocks and/or DLM locks for 
coordination and notifications.  In more recent years, IP (TLS, DTLS, 
etc) is what most folks are seemingly using for new work, outside of 
legacy app maintenance and related remediation.



-- 
Pure Personal Opinion | HoffmanLabs LLC 




More information about the Info-vax mailing list