UDP fixes: we can only stop transmitting the mappings sent in the
acknowledged datagram (not the ones before it, which may or may not have been received). Also, make sure we don't throw an ArrayIndexOutOfBounds exception when retrieving a bogus class mapping (so that we show the correct error logging information). git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5751 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -143,7 +143,7 @@ public class ObjectInputStream extends DataInputStream
|
||||
return mapClass(code, cname);
|
||||
|
||||
} else {
|
||||
ClassMapping cmap = _classmap.get(code);
|
||||
ClassMapping cmap = (code < _classmap.size()) ? _classmap.get(code) : null;
|
||||
|
||||
// sanity check
|
||||
if (cmap == null) {
|
||||
|
||||
@@ -101,7 +101,7 @@ public class DatagramSequencer
|
||||
break;
|
||||
}
|
||||
remove++;
|
||||
if (sendrec.mappedClasses != null) {
|
||||
if (sendrec.number == received && sendrec.mappedClasses != null) {
|
||||
_uout.noteMappingsReceived(sendrec.mappedClasses);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user