Commit Graph

749 Commits

Author SHA1 Message Date
Ray Greenwell d5546a37fb Fixed suffix determination for message pluralization.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5359 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-04 23:19:56 +00:00
Ray Greenwell 76ebba1614 Added readLong and writeLong to our streaming classes.
Use that in PongResponse.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5358 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-04 22:21:03 +00:00
Ray Greenwell 6179c74b29 Utilize Util.equals() to compare ByteArrays.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5357 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-04 22:20:20 +00:00
Ray Greenwell 08522d513a Quick fix that should fix the RoomName problem, while I contemplate
larger changes that may enhance performance.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5356 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-04 21:29:10 +00:00
Ray Greenwell e730991df9 - Make a copy of the values array to return to callers, so they can't
hose our internal data structures.
- some additional comments


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5355 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-04 19:31:36 +00:00
Ray Greenwell b0973478fd Extra comments.
Extra booch-checking.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5354 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-04 01:51:20 +00:00
Ray Greenwell 9d3ff0b44d If the server streams an array of enums, it will surely think they're final.
So we'd better do the same here.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5353 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-04 01:29:43 +00:00
Ray Greenwell ec2b50c153 - Changed some stuff around with streaming.
- Before, the Input/OutputStream classes handled Streamables directly
    and Streamers were never created for them. Simplified the code somewhat
    by always creating a Streamer. It's now more like the Java side, too.
  - No more BAD_STREAMER, since null now means "bad".
- Built-in support for streaming enums.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5352 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-04 01:27:18 +00:00
Ray Greenwell 85a5cc1de1 Enum base class that does most of the right things.
(The beginning.)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5351 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-04 01:22:14 +00:00
Ray Greenwell f22aab43ce 100 column formatting.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5350 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-04 00:49:26 +00:00
Ray Greenwell 2be1dc747d Some formatting love, from the futuristic world of 100 column code.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5349 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-04 00:48:46 +00:00
Jamie Doornbos cacd096f3b Reveal the contents of Dictionary objects in toString
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5345 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-27 00:42:03 +00:00
Ray Greenwell bc68cf5dba Documentation, love, and clarifications.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5344 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-26 20:18:54 +00:00
Ray Greenwell e2f30b395e Simplify a bit.
Rather than copy all the set levels to the level cache when a level is set,
just clear the cache and repopulate it when we look up a level.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5343 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-26 02:11:04 +00:00
Ray Greenwell 8abb5f96b0 Alas, it was too good to be true, and I had to track down and debug something.
Damn actionscript. "for" vs "for each" and each one uses (bla in foo), which
is also a statement in itself. That and the optional semicolons. I bet
the parser for the compiler was fun to write.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5342 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-26 00:53:21 +00:00
Ray Greenwell 9de956e067 Still untested, but I saw this bug while reading my checkin.
BRAINS!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5341 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-25 23:22:53 +00:00
Ray Greenwell e8521e3677 Log level configuration. Untested, but it should work!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5340 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-25 21:29:07 +00:00
Ray Greenwell b49d9a5e56 Added configureBridge().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5336 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-25 03:27:33 +00:00
Jamie Doornbos 573ad76de2 This has been simmering for a while locally. Allow callbacks to be provided to subscribe that get called in addition to the ones passed to the constructor. Also fixed comments.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5330 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-20 00:12:11 +00:00
Jamie Doornbos aade00df4c New class to make attribute change listening more convenient in action script
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5329 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-18 20:15:27 +00:00
Jamie Doornbos 8b48ab9107 Include the offending message when reporting a short frame
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5328 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-17 03:39:26 +00:00
Bruno Garcia f632356dfc Only go through getSuffix once, and don't call getResourceString more than necessary.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5325 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-15 22:41:38 +00:00
Bruno Garcia 29204b385d If the suffixed message key for integers is missing, fall back to the unsuffixed key instead of banking on the ".n" suffix.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5323 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-15 21:45:36 +00:00
Michael Bayne 421272f4f2 Basic framework for distributed chat channel system that does not use chat
channel distributed objects but rather resolves the location of all channel
participants on every message delivery so that we don't have to attempt the
very fragile process of having every server that hosts a channel participant
maintain a subscription to the chat channel object on another peer.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5305 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-10 02:40:19 +00:00
Ray Greenwell 3e5a63c1bc Command: contains bind() for wiring events up commands, without having to
create var-args functions or make your existing functions varargs so that
they can react to events.
This might turn into more. I already did a bunch of impl and then KISS since
we don't use the advanced shit yet. It might be nice to tie this more
closely to CommandButton, et al.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5300 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-08 02:12:57 +00:00
Michael Bayne 6bf19ba419 We need to tell the clients that we did logoff after we've actually shutdown
and clear out our socket. The DID_LOGOFF notification is sent out to the client
after we've sent our LOGOFF request to the server, so we need to be sure that
no other messages go to the server after the LOGOFF request otherwise we risk
the server generating spurious warnings (like it does currently in the
thousands daily).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5297 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-07 20:58:16 +00:00
Ray Greenwell 4f0e41d971 Actually, let's do that this way.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5295 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-07 03:13:37 +00:00
Ray Greenwell e82f938d7c Allow the chat-clearing behavior to be overridden.
On msoy you "log off" when you switch servers, which I think
we need to change, but... that's a bigger change.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5294 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-07 03:03:18 +00:00
Michael Bayne 725f656197 Fixed a bunch of type safety bits pointed out by the latest version of Eclipse.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5274 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-30 12:58:51 +00:00
Nathan Curtis 0a46e0b742 Well, shit. MDB points out something I completely missed: these Flex Library Project files contain
an enumerated list of every class in the library.  Since there are (as far as I know) only two 
people currently using Flex Builder, and since these project files are easy to create and maintain
locally, lets not deal with keeping a versioned copy up to date every time a file is created, 
removed or renamed.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5261 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-24 16:25:35 +00:00
Nathan Curtis 5567d7e22f Flex Builder project files for narya as a Flex Library project
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5259 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-23 20:42:14 +00:00
Michael Bayne 1b29e41129 BootstrapData.services is now a plain old array.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5256 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-22 18:29:06 +00:00
Michael Bayne 9674176268 More debugging when debug is activated.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5255 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-22 18:28:36 +00:00
Ray Greenwell 8a72343130 Copy mthomas' r5236 change to the actionscript side.
How was this not a problem before? Maybe we just got lucky
on yohoho and never had an npp say something with filterable
words in the translation key.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5237 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-17 23:00:29 +00:00
Bruno Garcia 2b39fb9e49 Added pickRandom()
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5235 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-16 19:38:03 +00:00
Jamie Doornbos 874289086a Completing the triumvirate or adapters
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5234 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-15 03:43:56 +00:00
Ray Greenwell fc6d6350f4 Flash drives me nuts.
Doing a loop on a null object works:
   for (s in null)
But checking to see if a property is in a null object throws an error:
   (s in null)
They're so similar!

So, protect against the NPE.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5233 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-11 02:07:04 +00:00
Ray Greenwell b903087fa9 Crap.
My change to ClassUtil broke this when serializing
ByteArrays and such from a sub ApplicationDomain.
Jesus this stuff is annoying.
I have no idea why it's not the same Class when you
create a standard flash library class from within a sub AppDom.
But let's go ahead and check the object by name, then.
Hopefully this doesn't break something ELSE.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5232 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-10 23:12:17 +00:00
Ray Greenwell 88798b978a Why didn't I join these lines?
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5231 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-10 21:10:13 +00:00
Ray Greenwell 77e00160fd Using appDom here booched the thane build.
Work around my issue another way, which is in some ways smoother: if the
object is a normal object from a normal class, get the class right off
instead of even doing the by-name stuff.
The appDom stuff could conceivably still be desired in the future, but
this will cover just about everything and we can always re-add this extra
business when need it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5230 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-10 21:08:47 +00:00
Ray Greenwell fa9a0e5558 Revert this, I'll work it another way.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5229 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-10 21:06:25 +00:00
Ray Greenwell e8f69e0148 Comment clarification.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5228 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-10 20:55:58 +00:00
Ray Greenwell fe5d4b47ef Clone fix: pass in our ApplicationDomain.
This is sorta wacked. Grumble. I wish there was a pointer to the class always,
instead of the language letting anonymous functions be a "constructor".
This may not always work if a subclass of OccupantInfo is loaded into a sub-domain.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5227 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-10 20:46:10 +00:00
Ray Greenwell 8c17cb5b24 Take an optional ApplicationDomain on a few methods that create classes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5226 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-10 20:43:59 +00:00
Ray Greenwell aa5f995ba1 Added trimBeginning(), make trim() use the other two.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5216 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-02 00:35:53 +00:00
Tom Conkling c648bfb346 StringUtil.trimEnd()
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5215 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-01 23:12:45 +00:00
Ray Greenwell 85f269f3e6 Totally reasonable fix, but this may break small things, so keep an eye out.
If the arg specified is null, do not wrap it into an array! It prevents you
from being able to call a function and falling back to the default value
for the argument. Instead, only wrap non-null.
If you really do want to pass null as your arg, you'll have to wrap it in
an array.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5197 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-26 22:41:05 +00:00
Nathan Curtis 3e8061359f Ray points out that there is a nifty ValueEvent class right there in com.threerings.util.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5196 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-24 20:39:38 +00:00
Ray Greenwell f3abe8507b Wrapped -> Boxed.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5195 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-23 21:09:14 +00:00
Nathan Curtis 0d93214e22 This has received the Ray seal of approval, and may now live amongst the other utilities in Narya.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5194 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-23 20:24:42 +00:00