diff --git a/src/as/com/threerings/io/ObjectOutputStream.as b/src/as/com/threerings/io/ObjectOutputStream.as index 8b9579748..5b1b8066d 100644 --- a/src/as/com/threerings/io/ObjectOutputStream.as +++ b/src/as/com/threerings/io/ObjectOutputStream.as @@ -5,6 +5,7 @@ import flash.utils.IDataOutput; import com.threerings.util.ClassUtil; import com.threerings.util.HashMap; +import com.threerings.util.Short; public class ObjectOutputStream { @@ -39,15 +40,16 @@ public class ObjectOutputStream var streamer :Streamer = Streamer.getStreamer(obj); // streamer may be null to indicate a Streamable object if (streamer == Streamer.BAD_STREAMER) { - // TODO - log.warning("OMG, cannot stream " + cname); - return; + throw new Error("Unable to stream " + cname); } cmap = new ClassMapping(_nextCode++, cname, streamer); _classMap.put(cname, cmap); - // TODO: if _nextCode blows short, log an error + if (_nextCode > Short.MAX_VALUE) { + throw new Error("Too many unique classes written to " + + "ObjectOutputStream"); + } writeShort(-cmap.code); writeUTF((streamer == null) ? Translations.getToServer(cname) @@ -85,8 +87,10 @@ public class ObjectOutputStream } } - // TODO: this is equivalent to marshalling a field for which there - // is a basic streamer. Work needs doing here. + /** + * This is equivalent to marshalling a field for which there + * is a basic streamer. + */ public function writeField (val :Object) :void //throws IOError { diff --git a/src/as/com/threerings/presents/client/Communicator.as b/src/as/com/threerings/presents/client/Communicator.as index 94583a9aa..255af39c4 100644 --- a/src/as/com/threerings/presents/client/Communicator.as +++ b/src/as/com/threerings/presents/client/Communicator.as @@ -121,7 +121,7 @@ public class Communicator public function postMessage (msg :UpstreamMessage) :void { - sendMessage(msg); // send it now: we have no out queue (TODO?) + sendMessage(msg); // send it now: we have no out queue } protected function shutdown (logonError :Error) :void diff --git a/src/as/com/threerings/presents/dobj/DEvent.as b/src/as/com/threerings/presents/dobj/DEvent.as index bbc58c4f9..116f6e7f1 100644 --- a/src/as/com/threerings/presents/dobj/DEvent.as +++ b/src/as/com/threerings/presents/dobj/DEvent.as @@ -32,10 +32,7 @@ public /* abstract */ class DEvent */ public function applyToObject (target :DObject) :Boolean { - // TODO - Log.getLog(this).warning( - "DEvent.applyToTarget is really an abstract method."); - return false; + throw new Error("abstract"); } /** diff --git a/src/as/com/threerings/presents/dobj/OidList.as b/src/as/com/threerings/presents/dobj/OidList.as index 5ed805e71..e4ce5b8a4 100644 --- a/src/as/com/threerings/presents/dobj/OidList.as +++ b/src/as/com/threerings/presents/dobj/OidList.as @@ -86,7 +86,7 @@ public class OidList // documentation inherited from interface Streamable public function writeObject (out :ObjectOutputStream) :void { - Log.getLog(this).warning("TODO: Not implemented: " + this); + throw new Error(); } // documentation inherited from interface Streamable diff --git a/src/as/com/threerings/util/Config.as b/src/as/com/threerings/util/Config.as index 4e606a182..ffc14ca17 100644 --- a/src/as/com/threerings/util/Config.as +++ b/src/as/com/threerings/util/Config.as @@ -69,8 +69,10 @@ public class Config // otherwise we'll hear back in a sec var thisConfig :Config = this; var listener :Function = function (evt :NetStatusEvent) :void { - // TODO: as of beta3 there is a bug where the status - // is always "SharedObject.Flush.Failed", even on success + // TODO: There is a bug where the status is always + // "SharedObject.Flush.Failed", even on success, if the request + // was for a large enough storage that the player calls it + // "unlimited". trace("================[" + evt.info.code + "]"); if ("SharedObject.Flush.Success" == evt.info.code) { rl.requestCompleted(thisConfig);