[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
- Subject: Re: EP4: Dúvida sobre o Bounded Buffer
- From: Francisco Reverbel <reverbel at ime.usp.br>
- Date: Tue, 3 Jul 2001 16:29:37 -0300 (BRST)
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