Order Issuer
-
Want reliable
communication of any length message
-
Tell packet-person "come back into room".
Wait for acknowedgement.
|
Order taker
-
Accept order.
-
Do order
|
Packetizing Person
-
Want from lower level:
Packets that always get thru correctly
-
Offer higher level: Full
length messages.
-
Accept message. Append the word "eend" to the message
-
Hand first undelivered word to error checking person.
-
Wait for ack
-
If more words, go to step #2.
-
Tell Order issuer that message was delivered.
Go to step 1
|
Assembly person
-
Accept each packet from error checker.
-
If you see word "eend",
-
Hand all packets accept the "eend" to the order taker.
-
Throw away "eend" packet.
-
Go to step 1
|
Error checking person
-
Want from lower level:
Packets that maybe get thru
-
Offer higher level: Packets
that always get thru and are correct.
-
Accept packet
-
Append the number of letters onto the packet. For instance,
if the packet is "also" you make the packet be "also4".
-
Give packet to yeller.
-
If no ack within 30 seconds, go to step 3.
-
Tell packetizing person that packet was delievered.
-
Go to step 1
|
Error Checking person
-
Accept packet from listener
-
If number matches packet length,
-
Tell listener to say "O.K."
-
Hand packet to assembly person
-
Go to step 1
|
Yeller
-
Want from lower level:
Quiet room in which to yell
-
Offer higher level: Packets
that may or may not get thru
-
Yell (gently) each letter or digit in the packet.
-
If here OK, tell error checker OK
-
Go to step 1
|
Listener
-
Write down each letter or digit you here. Hand list
to error-cheker.
-
If you get a command to say "OK", then do so.
-
Go to step 1
|