The following information pertains mostly to the System 7 Chooser (use at
least version 7.0 of the Chooser, preferably 7.1 or greater), with some
comparative information on the System 6 Chooser:
The Chooser DA window consists of four separate sections:
1) The device type list.
2) The AppleTalk zone list (visible only if there are multiple zones).
3) The AppleTalk active/inactive controls.
4) The available devices name list.
1) The Chooser is able to display a maximum of 32 items in the Chooser
device type list (Note: The System 6 limit was 16). This is the limit
that is imposed by the Chooser itself, not by something interfering with
the operation of the Chooser. If, for instance, you have more than 16
Chooser items in your System Folder under System 6 and only 16 show up,
there is no conflict. Sixteen is simply the limit under System 6.
2) The Chooser allocates memory for the zone list dynamically, up to 32K
(Note: this is the same as the System 6 Chooser). Each entry in the zone
list uses 1 byte of memory for each character in the zone name, plus 1
byte. The Chooser uses this extra byte as a length byte. For example,
the 7-character zone name "My Zone" uses 8 bytes of memory: 7 bytes for
the characters and 1 byte for the length byte. The maximum length of a
zone name is 32 characters. A 32-character zone name uses 33 bytes of
memory.
Based on this information, if every zone had a 32-character name, it
would be possible to have a maximum of 992 zones listed in the Chooser
(32,768 / 33 = 992.97, remove the remainder). The maximum number of zones
that can be displayed in the Chooser is wholly dependent on the length
of the zone names being used.
3) This one is self-explanatory; it controls whether or not AppleTalk is
active (Note: this is the same as the System 6 Chooser).
4) Determining the maximum number of visible Chooser device names:
The System 7 Chooser allocate a 32,768-byte buffer for the Chooser's
list of available AppleTalk network device names (Note: the System 6
Chooser allocated a 512-byte buffer). Each name in the buffer is embedded
in an AppleTalk Name Binding Protocol (NBP) packet received by the Chooser
from the selected device type. The NBP packet is called a "lookup reply",
and is sent in answer to the Chooser's lookup broadcast for the selected
device. An example is the selection of the device type LaserWriter driver,
and the displayed LaserWriter object names.
The buffer space used by each returned AppleTalk device is the length
of the NBP reply packet returned by the device to the Chooser's lookup.
NBP LaserWriter Lookup Reply Packet Definition
----------------------------------------------
Function and Tuple Count: 1 byte
NBP ID: 1 byte
Network Number: 2 bytes
Node ID: 1 byte
Socket Number: 1 byte
Enumerator: 1 byte
Object Field Length: 1 byte
Object: length of name
Type Field Length: 1 byte
Type: 11 bytes for type "LaserWriter"
Zone Field Length: 1 byte
Zone: 1 byte for zone "*" the NBP reply default
----------------------------------------------------------------------
TOTAL 22 bytes + length of the LaserWriter name
A calculation for determining the maximum number of visible LaserWriters
in a zone:
Number of visible LaserWriters = trunc(32,768/(22+(sum of name lengths /
Number of LaserWriters))
If the LaserWriter names are all the same length, the calculation is
simplified to trunc(32,768/(22+length)). The mean calculation (sum of
name lengths / Number of LaserWriters) is not necessary in this case.
(NOTE: Trunc indicates that decimal values should be ignored. That is, a
result of 780.19 indicates 780 LaserWriters.)
The calculation can be used for any other type of AppleTalk device, if
the type length and the mean of the device names are known.
System 7 Chooser selecting the Apple LaserWriter driver displays:
Mean Name Length Max Number of Visible LaserWriters
---------------- ----------------------------------
32 606
30 630
25 697
20 780
15 885
10 1024
5 1213
For information on the System 6 Chooser limits, search on System 6 Chooser.