Commit Graph

  • ae7373cdbc Might as well stop the timer if we're cleared. It's the closest thing to a shutdown. Ray Greenwell 2009-05-13 00:42:24 +00:00
  • 42f7ce23ac Allow the event handler to be specified in the constructor. Ray Greenwell 2009-05-13 00:27:02 +00:00
  • 497ade64e8 Last rejiggering, I promise! (I hope) Dave Hoover 2009-05-12 23:52:37 +00:00
  • 7cfee2eabd Complexity++! Dave Hoover 2009-05-12 23:29:31 +00:00
  • e740f387cc Some widening/foreaching I had lying around. Dave Hoover 2009-05-12 23:25:07 +00:00
  • bbbdd3bb60 Let NamedSetAdapter do the lifting for us. Dave Hoover 2009-05-12 23:24:42 +00:00
  • 305de912ff - forEach was returning the ExpiringElements, not the data. - We shouldn't need to run checkTimer() on add(), generally. If adding the sole element, we can just schedule the expiration directly. - Simplified and functionalized some other bits. Ray Greenwell 2009-05-12 23:09:42 +00:00
  • bba179b372 As Ray points out, iae's more useful as the second arg to our new exception than in the log message. Dave Hoover 2009-05-12 21:33:46 +00:00
  • cd07e3a9ee This puppy's been in yohoho for a while, but seems like it would be generally useful in narya land. Dave Hoover 2009-05-12 21:21:02 +00:00
  • ff5c1bf3e5 Let us filter what entries a DSetEditor shows with a Predicate. Dave Hoover 2009-05-12 21:13:54 +00:00
  • 3fe286e3c5 Fixed unchecked cast warning Jamie Doornbos 2009-05-12 00:47:48 +00:00
  • 239fec3236 SimpleEntry's a big boy now. Dave Hoover 2009-05-11 20:23:19 +00:00
  • 7d3f8a2c06 Gonna need that now that I'm actually throwing some of these across the net. Dave Hoover 2009-05-09 00:09:00 +00:00
  • 15ca8973bc KeyWrapper is pretty handy when you really just want a DSet stuffed full of some pre-existing Streamable/Comparable type (e.g. String), so let's buff it up to let us do that cleanly, and publicize it. Dave Hoover 2009-05-08 18:57:58 +00:00
  • 8e2a05864a Bring this maximum back down. I had thought that oversized datagrams were fragmented and reassembled at the network layer, but apparently that's not something one can count on. Andrzej Kapolka 2009-05-07 02:22:25 +00:00
  • 21cd434b4f Would've been better if I didn't misread the docs for "match" and had realized my last change didn't actually work. We'll FIND stop words in text now so our regexp doesn't have to match the whole string. Dave Hoover 2009-05-04 18:25:12 +00:00
  • 6c962bf3d4 Reflection is much faster these days, but we do a lot of event processing, so let's not surreptitiously slow things down. Michael Bayne 2009-05-04 17:50:44 +00:00
  • 533c7f5408 Hooverian simplification, actionscriptified. Ray Greenwell 2009-05-03 20:08:46 +00:00
  • f3e5b1a9c2 We don't need to make _stopMatcher match the entire content of the text that contains the stop word since the filter only cares if it exists at all in the text. Dave Hoover 2009-05-02 06:29:40 +00:00
  • 6eb8953c4b Allow flush time to be customized. Michael Bayne 2009-05-01 20:36:11 +00:00
  • bafb7f78c0 Added elapsedSeconds(). Michael Bayne 2009-05-01 19:34:38 +00:00
  • 34a99c26c0 If the last arg (in the Error position) is null, assume it's a null Error and print "error=null" rather than "null=". Ray Greenwell 2009-04-30 21:33:22 +00:00
  • d56ba51b49 I appear to have a hiesenbug, so this didn't actually end up testing this... but we should be using the new varargs fanciness, including a stack trace from the error. Nathan Curtis 2009-04-30 18:44:11 +00:00
  • 0e2f26df73 The uber-adapter. I could also make this just implement each interface, but I like being able to assign the functions to their proper names. Ray Greenwell 2009-04-30 01:31:30 +00:00
  • a66c27a169 Track various peer stats. Michael Bayne 2009-04-29 22:10:31 +00:00
  • 2a4ac9b96a These don't need to be final. Michael Bayne 2009-04-29 21:59:40 +00:00
  • 17688e9ff5 Updated comment to reflect reality. Michael Bayne 2009-04-29 21:59:28 +00:00
  • e77949a143 Cleaned up stats tracking in PresentsDObjectMgr and ReportingInvoker. At some point Pulse can probably totally replace the ReportManager at which time a bunch of cruft can go away. Michael Bayne 2009-04-29 19:05:04 +00:00
  • c8dd3f1901 Expose that HashMap constructor on StreamableHashMap, too. Dave Hoover 2009-04-29 18:59:10 +00:00
  • f6a689cd47 Ray points out a flaw in our vizname to authname approach: Michael Bayne 2009-04-28 17:00:10 +00:00
  • d65dc84d1b Fix typo. Ray Greenwell 2009-04-28 02:14:52 +00:00
  • e7dbda821d Removed pointless 8-char optimization. Now it is more useful for this to hash identically as in Java. Ray Greenwell 2009-04-28 01:14:01 +00:00
  • 9a50e5f791 Added compare(). Ray Greenwell 2009-04-28 00:07:25 +00:00
  • abc0bb9eb3 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). Andrzej Kapolka 2009-04-27 23:28:16 +00:00
  • 73dd5beda4 Same here even though we were doing long arithmetic which would most likely avoid blowage. Michael Bayne 2009-04-27 22:18:50 +00:00
  • 7e777e9c72 Divide the millis by 1000 to get seconds instead of multiplying the numerator and blowing an int. Michael Bayne 2009-04-27 22:17:36 +00:00
  • da4159c665 Switch to the ServerCommunicator. I'm sure it'll work just fine! Michael Bayne 2009-04-27 19:51:06 +00:00
  • a2d6549121 Comment fix. Michael Bayne 2009-04-27 19:48:00 +00:00
  • eb4b8674af ArrayUtil.sortedInsert Tom Conkling 2009-04-26 20:34:29 +00:00
  • 749ab8e1bb google-collect upgrade Charlie Groves 2009-04-24 23:01:40 +00:00
  • 510ddbb717 Instated some debug logging. Some day maybe I'll make it easy to enable debug logging in a fine-grained way in a running server. Michael Bayne 2009-04-24 19:03:17 +00:00
  • 6fe7159b4c Provide an Iterable for our client objects. Michael Bayne 2009-04-23 17:01:38 +00:00
  • 5df1335471 Add an easy way to initialize. Jeez, this whole thing could *almost* go away if we moved to flash 10 and used Vector, but of course, there's no way to get the type of Vector. Maybe there is, with describeType(). Can't experiment now. I'd fall out of my chair if there were. We need to know in case sending an empty array to the server, it's still gotta be the right type (with non-empty we could try examining the first element). Ray Greenwell 2009-04-23 00:30:44 +00:00
  • bfcb45434e Ye olde razor. Now that I know abjectscript like the back of my hand, reviewing some of the first code written in it might be a good idea. Ray Greenwell 2009-04-23 00:23:34 +00:00
  • c754d42f5b Oops, it's called addDispatcher() now. Michael Bayne 2009-04-20 17:58:18 +00:00
  • 9155065ca8 Let's call it addDispatcher() to distinguish it from InvocationManager's registerDispatcher() which requires a corresponding call to clearDispatcher(). Michael Bayne 2009-04-20 17:55:33 +00:00
  • 398ee3cfa2 Grant handy automatic invocation service clearing to place manager delegates. Michael Bayne 2009-04-20 17:53:24 +00:00
  • 1eefc50828 Common problem: place managers register dispatchers when started up and forget to clear them when they shutdown. Solution: add a mechanism for registering dispatchers such that they are auto-cleared when the manager shuts down. Michael Bayne 2009-04-20 17:44:03 +00:00
  • 48b3a27af8 Prevent a divide by zero error attempting to generate a log. Mike Thomas 2009-04-20 17:12:27 +00:00
  • 916cb30339 Clear out our _bstrap reference when we logoff. What's good for the ActionScript goose is good for the Java gander. Michael Bayne 2009-04-18 00:07:54 +00:00
  • c21f8ad735 Clear out our _bstrap reference after we logoff. Michael Bayne 2009-04-18 00:06:06 +00:00
  • 597062f0bc Oops. Can't do that. Michael Bayne 2009-04-17 22:57:55 +00:00
  • 51f1f273d9 Allow 1.6 source but continue to target 1.5 bytecode. Michael Bayne 2009-04-17 22:49:29 +00:00
  • f03caf98fe Use Util.adapt(). Look at this functional programming masterpiece. I'm not sure how much actual utility is here, and how much I just like the gee-whiz factor. Ray Greenwell 2009-04-17 21:27:35 +00:00
  • 62fb546f27 Check this out. This little buddy rocks. I sorta want to make a new FunctionUtil so that I can use it with impunity everwhere without having to include the other crap in here. Ray Greenwell 2009-04-17 21:23:23 +00:00
  • bb87184632 Should resolve infinite recursion with SortedHashMap. Tip from the pros: when you change a class, you might want to check the subclasses for possible problems with that change. :P Ray Greenwell 2009-04-17 20:01:01 +00:00
  • 96bdaf9f1f Allow XML to be encoded. Let's try it and see if it works. Let us know Nathan. Ray Greenwell 2009-04-17 01:06:00 +00:00
  • d354d951b8 Small tweaks. Apply directly to the nipples. Ray Greenwell 2009-04-16 23:00:36 +00:00
  • cbbd1f281d WeakValueHashMap. Apply directly to the ... I hate your checkin comments, but I love your product! Ray Greenwell 2009-04-16 22:55:40 +00:00
  • dbf20bdc28 WeakReference. Apply directly to the forehead. Ray Greenwell 2009-04-16 22:53:35 +00:00
  • 3300421741 - Use [] instead of "new Array()" - Implement keys() and values() using forEach(). - Less code is better code. - But, it's less efficient: - values() now looks up simple-key values by hashing - values() now unwraps non-simple keys, even though unneeded - keys() looks up simple-key values, even though unneeded Ray Greenwell 2009-04-16 22:51:12 +00:00
  • e76d1a6610 Interesting... if the peer disconnects before the node object subscription completes, an NPE would fire... but could this have prevented a lock from being release. It doesn't seem likely since a lock probably can't be assigned until the subscription is complete anyway(?). But then again, maybe some information is passed prior to this. In any case, stop throwing an NPE here. Jamie Doornbos 2009-04-16 17:12:15 +00:00
  • 0f73afc492 This class is remarkably pointless. We could trash it and change our toStringBuf() methods to just return a String. I guess. Then the caller would have to assign the string somewhere. I guess this has some value. Ray Greenwell 2009-04-15 20:25:26 +00:00
  • 305c53f53a These are breaking asdoc. Ray Greenwell 2009-04-15 18:52:15 +00:00
  • 61f752a105 Check the right things in our Preconditions. Michael Bayne 2009-04-15 00:28:07 +00:00
  • b160aa944f Let's just have SafeSubscriber take two callbacks instead of forcing everyone to screw around with SubscriberAdapter. Michael Bayne 2009-04-15 00:22:24 +00:00
  • 202f6bba81 Widening. Michael Bayne 2009-04-15 00:13:29 +00:00
  • e1b29dbf6f The BodyObject can definitely supply its Name. Michael Bayne 2009-04-14 16:31:17 +00:00
  • 021b5dab22 I swear I had made one of these way back when. Here it is again. Ray Greenwell 2009-04-14 01:40:14 +00:00
  • d1d6aa50d9 Unburden init() from things that can be injected. Ray Greenwell 2009-04-11 01:21:19 +00:00
  • 24760fa266 Create our PeerNode object through injection. Ray Greenwell 2009-04-11 01:12:16 +00:00
  • 18d36176a3 The PeerNode is the thing that calls clientLoggedOn/Off on the PeerManager, so let's keep with that pattern for any clients there when the peer itself connects or disconnects. Ray Greenwell 2009-04-10 22:25:35 +00:00
  • 7f97d41fd5 Fail earlier here if we have no _clobj. I have been seeing this in testing, though annoyingly now I can't reproduce it. Call Heisenberg! Michael Bayne 2009-04-08 20:32:47 +00:00
  • e90fb7465d Avoid calling bytesAvailable if the socket is not connected. It causes needless exception throwage. Michael Bayne 2009-04-07 20:51:10 +00:00
  • ca8904b9db Let's actually name that something different. Michael Bayne 2009-04-06 21:19:25 +00:00
  • 3b1024651a Split our reports into the default report and a separate report for the giant morass of profiling data. Michael Bayne 2009-04-06 21:13:59 +00:00
  • fd321d6f2d Let directors dispatch events. Ray Greenwell 2009-04-06 21:10:32 +00:00
  • c192056f3a Listen for security errors on our socket. Have the FrameReader stop listening on the socket when we're done with it. Ray Greenwell 2009-04-03 17:40:54 +00:00
  • cc1690654a No longer need this platform hackery. Michael Bayne 2009-03-31 01:36:58 +00:00
  • 752642db17 Nixed more asdoc-killing unused imports. Why these didn't kill my local asdoc but do on the build server, I know not. Michael Bayne 2009-03-31 01:20:08 +00:00
  • 6f535f3346 Added asdoc target. Michael Bayne 2009-03-30 22:55:27 +00:00
  • 916950e873 Nixed unused imports that were breaking asdoc. Michael Bayne 2009-03-30 22:55:13 +00:00
  • ab8406806e The quick fix: It was never intended that there'd be two goddamn ChatDirectors in a client. Ray Greenwell 2009-03-27 22:46:11 +00:00
  • bc6929d239 Actually, let's make a whitelist the valid modes. YAGNI code, no ability to break-out the whitelist. No other game of ours uses other valid modes, does it? Ray Greenwell 2009-03-26 23:36:03 +00:00
  • 5ba9ea1faa Fix a big ol' memory leak. This remove() call appears to have accidentally gotten commented out in a warnings-cleanup pass because it used to assign the result of the remove to a variable only used in a commented-out Log.info(). Since the receivers stored in the hashtable can point to exciting things, like, say, puzzle panels, it was causing a pretty immense amount of stuff to get held onto. Mike Thomas 2009-03-26 23:26:26 +00:00
  • 423aee81af Move broadcast filtering into the command handler. Break out the actual doing of the broadcast so that just that can be overridden. Ray Greenwell 2009-03-26 22:01:49 +00:00
  • 88bec3d641 Prunexorz! Michael Bayne 2009-03-26 00:43:50 +00:00
  • 688f2580ed Varargified log calls. Michael Bayne 2009-03-26 00:02:19 +00:00
  • 647a25dfdc Even better: have the base PeerManager call clientLoggedOn and clientLoggedOff for every client on another node when it connects or disconnects from that node. Ray Greenwell 2009-03-25 23:10:02 +00:00
  • 4a5136d3f0 Bugfix: chat bug. If node A started up and connected to node B, which already had players logged on, then nobody on A could send chat to anyone on B. Ray Greenwell 2009-03-25 22:56:29 +00:00
  • 3c8e293071 Added a way to suppress the feedback generated when a mute is changed. Ray Greenwell 2009-03-25 21:38:14 +00:00
  • a419ed8455 Support for broadcasting with either a custom attention level (for system messages), or a custom mode (for user broadcasts). Ray Greenwell 2009-03-25 21:23:32 +00:00
  • 52cedb5bdb Comment. Ray Greenwell 2009-03-24 21:00:38 +00:00
  • d46acc6bc4 Added createReverse(), and make comparators compatible with a flex Sort object. Ray Greenwell 2009-03-24 20:56:34 +00:00
  • 904be81707 Actually, let's only allow suppressing flushing. Ray Greenwell 2009-03-24 00:30:27 +00:00
  • 195d764347 Allow flushing and notifying to be suppressed when a value is set. Ray Greenwell 2009-03-24 00:27:46 +00:00
  • 5d0a86c698 If we never dispatched a DID_LOGON, then don't dispatch a DID_LOGOFF. Dispatch a FAILED_TO_LOGON instead. Michael Bayne 2009-03-19 23:40:03 +00:00
  • 0da49cb6ab Uhh, might want to handle PresentsSession.getInetAddress returning null for disconnected clients Charlie Groves 2009-03-18 20:14:15 +00:00
  • af14e64c04 Moved these here functions to Util. Immediately after writing them I considered that they didn't really belong in ArrayUtil, since they don't operate on Arrays. Util is better, since it's less specific. Ray Greenwell 2009-03-18 01:13:38 +00:00
  • 45999ffdc2 Pull bundle loading out into a method so subclasses can have their way with it Charlie Groves 2009-03-13 21:49:37 +00:00