home bbs files messages ]

Just a sample of the Echomail archive

<< oldest | < older | list | newer > | newest >> ]

 Message 519 
 mark lewis to Dran Draggore 
 RAMSG purging on 2.02 
 14 Apr 16 09:57:20 
 
14 Apr 16 06:39, you wrote to me:

 ml>> you'd be better off using JAM for everything... then you
 ml>> won't have to worry about any of the limitations of HMB at
 ml>> all... 200 areas is a limitation of HMB... then there's
 ml>> also that all areas share the same 16Meg limitation and
 ml>> that only a certain number of posts can even exist in
 ml>> HMB... in its day, HMB was the shizz but that has long
 ml>> since passed...

 DD> 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...

 DD> So are you saying that HMB in total is limited to 16 mb ? or are you
 DD> saying
 DD> 
that HMB is limited to 16 mb per area ? - in which case it's worse than
 DD> *.MSG, 
because *.MSG is unlimited depending on OS.

 DD> 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...


 ml>> they all are quite busy with activity... they wouldn't even be
 ml>> available any more if i weren't specifically keeping them listed and
 ml>> at least posting the rules monthly...

 DD> Is there some automated purge on inactive echoes somewhere high up in
 DD> 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...

 DD> Also those monthly rules are annoying. Instead of posting every month,
 DD> 
can't you find a tool that only posts rules after a certain period of
 DD> 
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)

<< oldest | < older | list | newer > | newest >> ]

(c) 1994,  bbs@darkrealms.ca