Passa al contenuto principale

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.