[Prévia] [Próxima] [Prévia por assunto] [Próxima por assunto]
[Índice cronológico] [Índice de assunto]

Re: EP4: Dúvida sobre o Bounded Buffer



On Tue, 3 Jul 2001, Tiago wrote:

> Francisco Reverbel wrote:
> 
> > > > É só o cliente apanhar essa exceção e interpretá-la corretamente.
> > >
> > > Acho que concordaremos que interpretá-la corretamente não é simples, né? ; )
> >
> > Sim, _se_ for importante distinguir o caso "server busy" do caso "server
> > down". Só que isso complica o protocolo entre cliente e servidor. Com o
> > esquema de "recusa passiva", o cliente tenta abrir uma conexão com o
> > servidor e, se conseguir, sabe que pode "falar", que o servidor estará
> > "ouvindo".
> 
> É mesmo... no caso do nosso EP, o Cliente espera pelo prompt (no caso, "*"). Só então
> ele manda um comando...

Eu tinha esquecido completamente do prompt! Viajei mesmo...
Por favor desconsidere as bobagens que eu disse na minha mensagem
anterior. 

> > Com a mensagem de "server busy", o cliente que acabou de abrir uma conexão
> > com o servidor não sabe se pode falar ou não. Antes de falar ele deve
> > escutar um pouco (por quanto tempo?) para ver se o servidor diz "server
> > busy"...  A mensagem de "server busy" requer a definição desse time-out e
> > as modificações correspondentes nos clientes. E ainda podem sobrar
> > problemas... O que acontece se a mensagem "server busy" demorar muito a
> > chegar por causa de algum problema qualquer?

O que eu escrevi acima é bobagem! Hoje o cliente que acabou de abrir uma
conexão já espera por um prompt. Em vez de mandar o prompt, o servidor
pode mandar uma mensagem de "servidor sobrecarregado, tente mais tarde"
e em seguida fechar a conexão. 

> Xiii... hmmm... o que acontece se o prompt demora?
> Acho que os clientes esperam indefinidamente... sem timeout...

Sim. A demora pode acontecer tanto no prompt como na mensagem de servidor
sobrecarregado. Idealmente deveria haver uma temporização nos dois
casos. Mas, para efeito deste EP, é aceitável deixar essa questão de lado. Assim como
você não está temporizando o prompt, não precisa colocar temporização só
por causa da mensagem de servidor sobrecarregado.

> > Pode, desde que os seus clientes estejam escritos de modo coerente com o
> > protocolo que você definiu. Mas quero deixar bem clara minha opinião: não
> > acho uma boa solução.

Quando eu disse isso eu havia esquecido que o servidor é a parte que sai
"falando" assim que uma conexão é estabelecida. Sou obrigado a mudar de
opinião... É uma boa solução sim!

> Ok... desculpe o aluguel... mas eu não resisto!! ; )

Tudo bem... Esta eu mereci.

Reverbel