Um protocolo simplex stop-and-wait

Esse protocolo de comunicação ainda livre de erros mas, agora, o receptor tem uma capacidade de consumo limitada. Este fato se deve a uma capacidade de armazenamento limitada e uma velocidade de processamento finita.

O emissor deve então se precaver para não transmitir quadros a uma taxa maior que o receptor é capaz de consumi-los. Para isso, o emissor após enviar um quadro, só deverá enviar próximo depois de receber um “sinal verde” do receptor.

Protocolo stop-and-wait:

Constante masmsg = ….

 

tipo   bit           = 0…1

mensagem     = vetor [0..maxmsg] de bit;

quadro       = registro

prefixo:     byte;

info:        mensagem;

sufixo:      byte

fim;

tipo_evento  = (chegou_quadro);

 

procedimento envia;

 

var    q:            quadro;

buffer:      mensagem

evento:      tipo_evento;

 

início

repita

de_cima (buffer)

q.info: buffer;

envia_quadro(q);

espera(evento);

até falso;

fim