14 Apr 16 06:39, you wrote to me:
you'd be better off using JAM for everything... then you
won't have to worry about any of the limitations of HMB at
all... 200 areas is a limitation of HMB... then there's
also that all areas share the same 16Meg limitation and
that only a certain number of posts can even exist in
HMB... in its day, HMB was the shizz but that has long
since passed...
This is something I wanted clarified in the documentation.
i don't know that it has ever been documented anywhere... coders working with the HMB would know these limitations because of the raw structure of the format...
So are you saying that HMB in total is limited to 16 mb ? or are you saying
that HMB is limited to 16 mb per area ? - in which case it's worse than *.MSG, because *.MSG is unlimited depending on OS.
What's the limit for posts ? and is it per area or in total of HMB ?
the HMB is made of five files... one that holds the message text (MSGTXT.BBS) and the others containing indexes and pointers into the message text file... the limits are
200 maximum areas
32k total messages
16M maximum size of message data file
other than the 200 area limit, these values are dictated by the structure of the format... in pascal, a string is a 256 byte array of characters... the zeroth byte (programmers always start counting from zero and yes, zero is a number) contains the length of the string which is 0 to 255... there is always 256 bytes allocated for a string... even if there's only one character in it...
eg:
1a
- 1 is the zeroth byte and says there's one character in the string.
- 'a' is the one character in the string.
10applesauce
- 10 is the zeroth byte and says there's ten characters in the string.
- 'applesauce' is the ten characters in the string.
NOTE: if you were to use a hex editor, you would not see the 1 or the 10 in the
zeroth byte position, instead you would see the actual ASCII ^A (#1) and ^J (#10) characters... if the string was 32 characters long, the first byte would be the space character (#32)... 64 characters would be the @ (#64) character...
MSGTXT.BBS is a huge file of string records, each record is 256 bytes in size and contains up to 255 characters... the largest value a word (two bytes) can hold is 65535 and a word is the size of the indexes and pointers used... so 256
* 65535 = 16Meg... there was simply no way to have a file any larger than that at that time... 32767 was the largest positive number an integer could hold... that gives us the 32K limit of total messages... 200 areas? probably could easily have been 255 but 200 was a nice round number and what BBS ever had a need for more than 200 areas, right? ;)
type range size
==========================================
shortint | -128..127 | 8bit
integer | -32768..32767 | 16bit
longint | -2147483648..2147483647 | 32bit
byte | 0..255 | 8bit
word | 0..65535 | 16bit
so now, you could easily have 200 areas defined and have one message taking up the entire message base... that one message only need use all 65535 records of the MSGTXT.BBS file... yeah, it is a huge message but that's how it works... no
single area can have more than 32K messages as that is the total maximum of the
entire structure... if ANY of these limits are passed, the message base is corrupted and the only recovery is to delete the files and start over...
they all are quite busy with activity... they wouldn't even be
available any more if i weren't specifically keeping them listed and
at least posting the rules monthly...
Is there some automated purge on inactive echoes somewhere high up in
the chain of command ?
the backbone removes echos without a certain amount of traffic over a certain period... that's a manual process... there's nothing automated about it...
Also those monthly rules are annoying. Instead of posting every month, can't you find a tool that only posts rules after a certain period of inactivity ?
no... they are called monthly rules for a reason... plus when you see them arrive, then you know that you're still connected and a link hasn't been broken
cutting you off from the echo ;)
)\/(ark
Always Mount a Scratch Monkey
... There does not seem to be a whole lot of straight vegan males.
---
* Origin: (1:3634/12.73)