Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Q2 - Nº máximo de lugares #38

Closed
1 of 2 tasks
Ca-moes opened this issue May 3, 2020 · 1 comment · Fixed by #42
Closed
1 of 2 tasks

Q2 - Nº máximo de lugares #38

Ca-moes opened this issue May 3, 2020 · 1 comment · Fixed by #42
Labels
Qn Programa servidor
Milestone

Comments

@Ca-moes
Copy link
Owner

Ca-moes commented May 3, 2020

  • arranjar forma para definir o tamanho do array places[]
  • Terá uma fila para as threads esperarem ordenadamente OU retorna -1 imediatamente por não ter lugar
@Ca-moes Ca-moes added the Qn Programa servidor label May 3, 2020
@Ca-moes Ca-moes added this to the Etapa 2 milestone May 3, 2020
@Ca-moes Ca-moes added this to To do in ProjectProgression via automation May 3, 2020
@Ca-moes Ca-moes added this to To do in Server Program via automation May 3, 2020
@Ca-moes
Copy link
Owner Author

Ca-moes commented May 5, 2020

Isto é de uma nota que escrevi depois de acordar às 5 da manhã:


Array de structs

Struct:

  • bit ocupado,
  • tempo em que começou,
  • duração,
  • bit reservado - 1 caso esteja resrevado, 0 otherwise.

Para encontrar lugar faz for pelo array, caso haja lugar livre dá esse lugar, enquanto dá for guarda qual é que tem:

  • o maior tempo que começou, <- errado
  • o menor (tempo começou + duração)

se chegou ao fim e não tem lugar vai ficar reservado o lugar com o menor tempo calculado em cima, thread espera esse tempo e designa lugar.

Possíveis erros : Server demora demasiado tempo a responder e cliente dá erro.


FAILD - cliente já não consegue receber resposta do servidor
GAVUP - servidor já não consegue responder a pedido porque FIFO privado do cliente fechou

Ou então pode ser mais simples e caso haja lugar dá-se esse lugar, senão manda -1 ou então usa-se estas 2 flags. Not sure, deve ser preciso perguntar ao stor


Enquanto thread de server espere que haja um lugar livre também pode ir verificando se o server está closed. Terá de atender na mesma mas serve para avisar as outras threads

@Ca-moes Ca-moes pinned this issue May 5, 2020
@Ca-moes Ca-moes linked a pull request May 9, 2020 that will close this issue
ProjectProgression automation moved this from To do to Done May 10, 2020
Server Program automation moved this from To do to Done May 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Qn Programa servidor
Projects
Development

Successfully merging a pull request may close this issue.

1 participant