Skip to content

luizamboni/websocket-buffer

Repository files navigation

Instruções

Instruções

$ java -jar buffer/target/buffer-0.0.1-SNAPSHOT.jar -p 8080 -s 15

parâmetros

  • -p: porta
  • -s: tamanho
$ java -jar consumer/target/consumer-0.0.1-SNAPSHOT.jar -p 8080 -h localhost -t 20

parâmetros

  • -p: porta
  • -h: host
  • -t: número de threads
$ java -jar productor/target/productor-0.0.1-SNAPSHOT.jar -p 8080 -h localhost -t 20

parâmetros

  • -p: porta
  • -h: host
  • -t: número de threads

parâmetros

  • -p: porta
  • -s: tamanho

Instalar as 3 aplicações

$ \. mvncompile.sh

Rodar todos os testes unitários

===

$ \. testall.sh

Desafio Buffer

Teremos 3 aplicações: Produtor, Consumidor e Buffer. Cada uma delas rodando em máquinas distintas.

Buffer:

  • Buffer irá armazenar valores inteiros
  • a quantidade de valores que ela irá guardar dependerá do que for passado por parâmetro na sua inicialização.
  • Quando inicializada ela receberá o nº de porta que ficará ouvindo e a quantidade de números que irá armazenar.
  • Quando um valor é adicionado ou retirado de Buffer, ele deve mostrar uma mensagem na tela do tipo: "Valor x adicionado (ou retirado) em Buffer pelo Produtor y (ou Consumidor y)" .
  • Se um Produtor tenta colocar um valor no Buffer e ele esta cheio, ele mostra em sua tela "Produtor y tentou colocar item no Buffer cheio" e libera o Buffer.
  • Se um Consumidor tenta retirar um valor do Buffer e ele esta vazio, ele mostra em sua tela "Consumidor y tentou retirar item do Buffer vazio" e libera o Buffer.

Produtor:

  • Produtor coloca números inteiros aleatórios em Buffer.
  • Um dos parâmetros que ele recebe como inicialização define quantas Threads, ou seja, instâncias de Produtor serão inicializados.
  • Cada Produtor (ou seja, cada Thread) será denominado Produtor1, Produtor2, etc...
  • A partir do momento que um Produtor tenta colocar um valor em Buffer, ele começa a contar o tempo. E quando ele consegue, ele mostra na tela, o valor que ele colocou e quanto tempo levou até conseguir colocar o valor em Buffer, com a mensagem "Colocado o valor x no Buffer pelo Produtor y", onde x é o valor e y o nº do Produtor.

Consumidor:

  • Consumidor retira os valores do Buffer. Um dos parâmetros que ele recebe como inicialização define quantas Threads, ou seja, quantas instâncias de Consumidor serão inicializadas.
  • Cada Consumidor (ou seja, cada Thread) será denominado Consumidor1, Consumidor2, etc...
  • A partir do momento que um Consumidor tenta retirar um valor do Buffer, ele começa a contar o tempo. E quando ele consegue, ele mostra na tela, o valor que ele retirou e quanto tempo levou até conseguir retirar o valor do Buffer, com a mensagem "Retirado o valor x do Buffer pelo Consumidor y", onde x é o valor e y o não do Consumidor.

About

java websocket buffer (teste)

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published