Closed fabianHAW closed 6 years ago
beim einteilen der intervalle wird nun rücksicht auf den allersten knoten im ring genommen, da sein intvervall vom predecessor über die maximale knotenid und 0 geht. daher müssen wir in den anderen implementierugen darauf achten, dass es diesen sonderfall gibt. konkret sieht das bei 4 spielern und dem spieler mit der nodeID 01 E3 3C 16 1B 9F AC DA F7 20 67 D4 70 77 51 8F DF 39 E5 FA so aus:
from=FB E7 9F 6A 9B DC A1 11 D7 1F EE 6F E8 A8 82 D1 83 15 D7 E3 , to=FD E6 28 F9 1B C8 4F AA 37 20 16 E6 C0 98 1D 10 F7 21 DC 94 ],
from=FD E6 28 F9 1B C8 4F AA 37 20 16 E6 C0 98 1D 10 F7 21 DC 95 , to=FF E4 B2 87 9B B3 FE 42 97 20 3F 5D 98 87 B7 50 6B 2D E1 46 ],
from=FF E4 B2 87 9B B3 FE 42 97 20 3F 5D 98 87 B7 50 6B 2D E1 47 , to=01 E3 3C 16 1B 9F AC DA F7 20 67 D4 70 77 51 8F DF 39 E5 FA ]]
der vorherigen to-eintrag ist der nächste from eintrag + 1 der letzte eintrag hier geht über den maximalen knoten hinaus und enden direkt beim ersten..
ein kleiner zu verachtener fehler ist noch bei der berechnung der intervalle der anderen knoten enthalten. da ende das letzte interval nicht direkt auf die knotenid, sondern bei einem davor. bei id 15 F7 27 B5 0B DB C5 00 4E F0 91 88 4F 35 31 47 DD 94 14 55 z.b. so:
from=15 C7 9D 62 11 11 DD DD 6C 17 63 21 8B C4 EC C1 62 B8 E7 1E , to=15 F7 27 B5 0B DB C5 00 4E F0 91 88 4F 35 31 47 DD 94 14 54
divideShipIntervals teilt das interval eines knotens nicht korrekt ein und geht über die grenze der eigenen id hinaus..ebenfalls muss der erste knoten im netzwerk eine besondere behandlung erhalten..