Because PostScript processes one job at a time, only one port can have
access to the printer at any given time. Arbitration logic polls the ports
in a round-robin fashion until it senses activity in one of the three
ports. It terminates polling at connection and the beginning of job
execution. A connection, in this sense, refers to the dedication of the
printer to a communication port while receiving PostScript jobs from a
host. AppleTalk ports may process multiple jobs during a single connection
while the other serial port connections have only one job. Receiving an
EOF (end-of-file indicated end-of-job) character terminates a non-AppleTalk
connection.
The port arbitration cycle begins whenever a host terminates a connection.
It determines polling order by always polling the port that has gone
unpolled for the longest time. This procedure ensures that one port won't
dominate the printer. If an active PostScript job opens a port directly,
that port is excluded from arbitration until the job closes it again. A
PostScript job opening a serially connected sheet feeder is an example of
this type of port activity.
All three ports respond to status request, with current printer status,
unless excluded from the port arbitration cycle as previously explained, or
just configured inactive. Directly opened ports may either respond with
stale status or not respond at all. Ports not arbitrated due to
configuration may not respond or even appear on the network.