[RASSUS] 2. laboratorijska vježba - 2021/2022
RogerRoger
Erpeg ja sam to implementirao tako da imam fju update() koja prima vrijednost sata i racuna razliku izmedu te nove vrijednosti i this.currentTimeMillis() i onda tu razliku (ako je pozitivna) sprema u privatnu varijablu. Vrijednost te varijable sam samo zbrojio na kraj returna od currentTimeMillis().
Erpeg
RogerRoger al onda tebi npr ak imas
p1 salje u trenutku 5, a p2 prima u trenutku 4 (p2 jitter(inkrement) je 4)
onda p2 primi dobro prvi put u 6, ali njegovo slijedece vrijeme nije 10, nego 11
jer je inkrement=4 + razlika=(5-4)=1
i to se onda dalje propagira
adhdd
WickyWinslow gdje se može pronaći taj dio sa predmeta OPRPP2, koliko vidim na materijalima nema ništa?
WickyWinslow
adhdd Ljudi su svoje zadace na github objavljivali. Treba tamo pretrazivati sa pametno izabranim kljucnim frazama.
Erpeg
RogerRoger
recimo da sortiras ocitanja u senzoru 1 i imas ova 3 (u crvenom kvadratu)
prvo ocitanje je taj senzor generirao i njegova oznaka je 3
drugo ocitanje koje je primljeno ima dolazi sa vektorom (1,4,3). ti od toga uzimas oznaku za prvi senzor (1) i gledas jel ta oznaka veca il manja od oznake u generiranom ocitanju.
u ovom slucaju oznaka 1 je manja od 3, iako je ocitanje generirano kasnije. senzor 1 misli da je ocitanje generirano ranije (zbog oznake) i stavit ce ga prvog u listu.
sljedece ocitanje koje mora sortirat je sa vektorom (3,6,5).
to ocitanje ima istu vrijednost (oznaceno plavom) kao i vrijednost senzora 1 (3), pa ces to stavit nakon vlastito generiranog ocitanja.
nadam se da ti je jasno sad, ja sam se isto borio da shvatim sve to
RogerRoger
Erpeg sve mi je jasno, hvala ti!
Erpeg
jel netko imao problem da mu currentTimeMillis() vraca negativnu vrijednost ??
i to sam od sebe, bez modifikacija ?
Dr_Flare
Erpeg ovaj čoek živi u 1969, F
također, nažalost ne znam kako se to dogodi i kako popraviti
Erpeg
Dr_Flare cini mi se da se to desi kad modificiramo startTime
onda iz nekog razloga ona njihova funkcija sa jitterom kaze “i will not serve”
RogerRoger
Erpeg nisam baš shvatio, možeš li opet pojasniti?
Razmislio sam o mogućim problemima i mislim da se ništa ne može zeznuti, jako je jednostavan pristup pa mislim da smo se krivo shvatili.
Dakle:
Fja update() prima novu vrijednost sata i uspoređuje ju s currentTimeMillis() klase EmulatedSystemClock. Ako je veća, u privatnu varijablu (npr. int correction, inicijalno 0) sprema razliku. Uz to, na return statement fje currentTimeMillis() na kraju dodaš +correction.
ruza0001
kako pokrenut ovaj njihov kafka examples uopce, posto kad pokrenem i pisem poruku tamo di kaze write a message… nista se ne desava dalje
in1
rozy napiši poruku i lupi enter 🙂
ruza0001
in1 dobro nisam bas tako glup, kad to napravim nista se ne desava dalje.. to je problem
ruza0001
rozy okej otkrio sam problem… kad sam pokrenuo kafku u dockeru nije mi se pokrenuo broker nego samo zookeeper i kad sam restarto i provjerio da je pokrenut i broker sad radi sve okej… neki message da nije moguce spajanje bi bio koristan bome
Erpeg
RogerRoger kuzim, imas pravo. onda npr ako opet dodje poruka sa vecim vremenom, samo dodatno povecas inkrement jel tako
PiqueBlinders
Moze li se napraviti da se prvo senzori kod pokretanja registriraju i svi pokupe podatke od ostalih, a onda kad dode START samo krenemo s UDP-om. Jer me buni 5.2. gdje kaze kako se salje registracija tek nakon sto dode START. al u tom slucaju kako bi tocno rjesili problem koliko ukupno registracijskih poruka treba primiti
ruza0001
zisku ja sam stavio da poola 3 puta po 4 sekunde pa ko se registriro registriro se ode voz
RogerRoger
Jel može netko, itko, IKAKO pomoći oko ovog UDP dijela, konkretno kako voditi evidenciju koji su paketi poslani, a potvrda nije stigla (po mogućnosti bez map<,map<,map<,>>>) i kojim senzorima ju treba ponovno poslati
Dobit ću slom živaca od ovog jebenog predmeta, strojno me nije slomilo, apr i retardirani nos me nisu slomili, nesposobni nositelji s naspa me nisu slomili ali evo rassus je na dobrom putu
RogerRoger
Erpeg da, jedino vidim da sam krivo napisao, u taj “correction” se ne bi spremala razlika nego bi se zbrojila s njim, u biti:
int correction = 0;
update(long newvalue)
{
int diff = (newvalue - this.currentTimeMillis());
if(diff > 0) correction += diff;
}
Mike
jel se može ništa ne predati i ne pojaviti se uopće na vježbi?
Klokan
RogerRoger treba +1 dodat na correction ukoliko je diff > 0?