Trasmissione di file PDP-10
Supponiamo che io abbia un collegamento connesso a un altro PDP-10 e un processo utente là che è in ascolto. Per indurre quel processo a inviarmi un file, la sequenza di flag che potrebbe essere trasmessa può essere rappresentata come segue, dove le UUO da me eseguite sono nel margine sinistro, i flag sono rientrati, e il commento di fronte a essi indica la natura del blocco di dati trasmesso:
PUT F
CONTROL Data with OPEN parameters, requesting OPEN
LABEL File identification data for LOOKUP
EOM Forces message to be transmitted
GETFD
STATUS Status returned by OPEN
SIZE Byte size to be used
LABEL File retrieval information
PUTF
CONTROL Data requesting INPUT from file
EOM Forces request to be transmitted
GETFD
STATUS Status bits returned by INPUT
GET Logical record (one file buffer load)
(loop back to second PUTF, above, for other records)
Finally, the status information returned by the second GETF indicates
end of file, and I wind up with the sequence:
PUTF
CONTROL Data requesting a CLOSE
EOM Forces transmission
GETFD
STATUS Status bits returned by CLOSE
In the case I am getting a file, the main loop looks like:
PUTF
CONTROL Data requesting OUTPUT
PUT Logical record (one file buffer load)
PUTF
EOM Forces transmission
GETFD
STATUS Status bits returned by OUTPUT
Vale la pena notare l'uso sia delle UUO di trasmissione di record sia di flag, nonché l'uso del flag EOM per forzare la trasmissione di un messaggio quando si passa tra input e output sul collegamento. Le UUO PUT e GET sono chiaramente richieste sopra per la trasmissione dei dati CONTROL e LABEL; le ho soppresse per chiarezza.
Per questa applicazione, la natura di handshaking della trasmissione dei flag CONTROL e STATUS è obbligatoria. Sebbene il protocollo permetterebbe la trasmissione di un file completo senza handshaking, si tratterebbe di una proposta tutto o niente — un singolo errore renderebbe necessario rifare tutto da capo, supponendo che il processo ricevente non sia finito in un completo garbuglio.