136af2a6b9
Implement equals() with compareTo().
Michael Bayne
2008-09-16 23:17:59 +00:00
1c711f493d
Google's Predicate is an interface, and the build server uses Java 5, and you can't use @Override in java 5 when implementing an interface method.
Ray Greenwell
2008-09-16 22:59:17 +00:00
be0849f17e
In with the new. Or rather the old. The original incarnation. Does not allow null 'processed' functions.
Ray Greenwell
2008-09-16 22:50:15 +00:00
18bb5cc130
Remove this version...
Ray Greenwell
2008-09-16 22:48:38 +00:00
1f3b968a00
Use google's Predicate class instead of samskivert's. - It's probably "more" standard, and maybe when they finally add Predicate to java.util, it will be based on google's implementation. - Unfortunately this is a little less efficient at runtime. The samskivert Predicate can filter into a new Collection that knows its size, google's code just returns an Iterable that is a *view* on the Iterable passed in, so it doesn't know how many elements are in it. When we copy it into an array, a List is first created to receive all the filtered elements from this view, then that List is turned into an array. Oh well, it's less lines of code here in this class thanks to Google's fun libs.
Ray Greenwell
2008-09-16 22:32:48 +00:00
6294b2e955
Require the 'processed' function. If you are calling a ResultListener service, you should always listen for the result! Otherwise, you are likely doing something wrong. Listen for the result, or change the service to not report a result if it's irrelevant.
Ray Greenwell
2008-09-16 02:00:47 +00:00
fa4d42db28
We allow you to omit this callback in the constructor, so make sure it's not null when we go to call it
Bruno Garcia
2008-09-16 01:38:32 +00:00
856319ede0
Fixed a couple tiny javadoc typ-o's.
Matt Jensen
2008-09-14 23:01:16 +00:00
d6fbde6e0d
Forgot header and props for added files
Jamie Doornbos
2008-09-12 23:47:24 +00:00
4a03b20b1f
Extension of the samskivert throttle class to allow updating the operation limit, plus a small manual test class
Jamie Doornbos
2008-09-12 23:26:58 +00:00
7ee6ace683
Javadoc warnings cleanups. Note: this involves generated code from a samskivert patch I only just sent to mdb, but he's in a meeting, so that won't show up for a little.
Dave Hoover
2008-09-12 17:59:26 +00:00
8114439855
Handle having a null caller.
Michael Bayne
2008-09-11 23:35:09 +00:00
1852e79477
Decode the action on the local server from the bytes so that we can catch a failure to implement a zero arg constructor even in a developer's single server test environment.
Michael Bayne
2008-09-11 23:32:57 +00:00
3be8caecca
Comment tweak.
Ray Greenwell
2008-09-11 21:02:55 +00:00
059e7f760d
Shock! Is that 'private' you see there? Omigod. It is. Normally we eschew private because we feel like people should be able to use our classes how they see fit. However, you *really* shouldn't be futzing with these fields, and them being protected would allow someone to write an Enum subclass and fuck-up other unrelated Enum subclasses, so I'm making an exception here.
Ray Greenwell
2008-09-11 21:01:10 +00:00
c0a8e204da
Jamie points out that asdoc sucks the wet farts from dead pigeons, and so @param tags just match up to parameters based on order.
Ray Greenwell
2008-09-10 20:35:00 +00:00
0809963ee9
formatting and commenting.
Ray Greenwell
2008-09-09 23:58:12 +00:00
b4af7a0250
Allow explicit enumeration of fields for fieldsToString and simpletoString, doing automatic enumeration by default
Jamie Doornbos
2008-09-09 23:36:05 +00:00
ccc81d4da0
Whoops!
Tom Conkling
2008-09-05 00:32:38 +00:00
ca8abbaf62
Make readAvailable() non-recursive.
Tom Conkling
2008-09-05 00:30:19 +00:00
d5546a37fb
Fixed suffix determination for message pluralization.
Ray Greenwell
2008-09-04 23:19:56 +00:00
76ebba1614
Added readLong and writeLong to our streaming classes. Use that in PongResponse.
Ray Greenwell
2008-09-04 22:21:03 +00:00
6179c74b29
Utilize Util.equals() to compare ByteArrays.
Ray Greenwell
2008-09-04 22:20:20 +00:00
08522d513a
Quick fix that should fix the RoomName problem, while I contemplate larger changes that may enhance performance.
Ray Greenwell
2008-09-04 21:29:10 +00:00
e730991df9
- Make a copy of the values array to return to callers, so they can't hose our internal data structures. - some additional comments
Ray Greenwell
2008-09-04 19:31:36 +00:00
b0973478fd
Extra comments. Extra booch-checking.
Ray Greenwell
2008-09-04 01:51:20 +00:00
9d3ff0b44d
If the server streams an array of enums, it will surely think they're final. So we'd better do the same here.
Ray Greenwell
2008-09-04 01:29:43 +00:00
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.
Ray Greenwell
2008-09-04 01:27:18 +00:00
85a5cc1de1
Enum base class that does most of the right things. (The beginning.)
Ray Greenwell
2008-09-04 01:22:14 +00:00
f22aab43ce
100 column formatting.
Ray Greenwell
2008-09-04 00:49:26 +00:00
2be1dc747d
Some formatting love, from the futuristic world of 100 column code.
Ray Greenwell
2008-09-04 00:48:46 +00:00
7e7e7893d6
No need for this to be specific to persistence.
Michael Bayne
2008-09-03 18:40:29 +00:00
5a41c876b4
Updated to use new DatabaseException.
Michael Bayne
2008-09-03 16:20:30 +00:00
addb1971dd
Break out the binding of the invokers so we can bind them elsewhere in a subclass.
Mike Thomas
2008-08-30 00:15:04 +00:00
cacd096f3b
Reveal the contents of Dictionary objects in toString
Jamie Doornbos
2008-08-27 00:42:03 +00:00
bc68cf5dba
Documentation, love, and clarifications.
Ray Greenwell
2008-08-26 20:18:54 +00:00
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.
Ray Greenwell
2008-08-26 02:11:04 +00:00
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.
Ray Greenwell
2008-08-26 00:53:21 +00:00
9de956e067
Still untested, but I saw this bug while reading my checkin. BRAINS!
Ray Greenwell
2008-08-25 23:22:53 +00:00
e8521e3677
Log level configuration. Untested, but it should work!
Ray Greenwell
2008-08-25 21:29:07 +00:00
18a69ba281
It's potentially poor form to be passing null in as one of the things to stuff into a translated string, but I've seen it happen in internalish yohoho messages, so let's not blow up.
Dave Hoover
2008-08-25 17:21:53 +00:00
aaa403052e
ooo-libs' samskivert is back.
Nathan Curtis
2008-08-25 16:51:30 +00:00
d9ee8b91d1
We want to hear about the exception as well.
Michael Bayne
2008-08-25 15:29:33 +00:00
b49d9a5e56
Added configureBridge().
Ray Greenwell
2008-08-25 03:27:33 +00:00
0c9199c2a5
Narya exports the samskivert jar and the jars that our projects rely on that samskivert used to export
Nathan Curtis
2008-08-22 18:26:50 +00:00
e1491dcd06
Add a generifying factory method
Charlie Groves
2008-08-21 20:35:53 +00:00
80ca1dbc64
Fix broken javadoc links and params to kill my Eclipse warnings. This includes importing receivers from their senders to satisfy their links.
Charlie Groves
2008-08-21 01:46:51 +00:00
8a22502f47
Flex 3.1 changes
Bruno Garcia
2008-08-20 22:24:57 +00:00
495e29fa05
Actually append the creds. Why was I not surprised by creds=] when I tested this?
Jamie Doornbos
2008-08-20 04:52:08 +00:00
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.
Jamie Doornbos
2008-08-20 00:12:11 +00:00
aade00df4c
New class to make attribute change listening more convenient in action script
Jamie Doornbos
2008-08-18 20:15:27 +00:00
8b48ab9107
Include the offending message when reporting a short frame
Jamie Doornbos
2008-08-17 03:39:26 +00:00
c5bc67d66a
Planting a flag on this landmine, change to equals() if desired
Bruno Garcia
2008-08-15 23:55:46 +00:00
df2e316330
Pedanticism police.
Dave Hoover
2008-08-15 23:19:25 +00:00
f632356dfc
Only go through getSuffix once, and don't call getResourceString more than necessary.
Bruno Garcia
2008-08-15 22:41:38 +00:00
c49f655e7b
Suffix handling unit test... it passes so it must be bug free!
Bruno Garcia
2008-08-15 21:50:22 +00:00
29204b385d
If the suffixed message key for integers is missing, fall back to the unsuffixed key instead of banking on the ".n" suffix.
Bruno Garcia
2008-08-15 21:45:36 +00:00
172349abb3
Give a little bit of information about Client instances when one is logged. This is for the bureau launcher which manages a lot of clients, but seems generally useful.
Jamie Doornbos
2008-08-14 20:53:35 +00:00
716f7ab956
Make it possible to find out if we're shutting down or not.
Michael Bayne
2008-08-13 23:02:21 +00:00
40e64e2cf9
Ray suggests we call it asSet() instead of toSet() since it's a view.
Michael Bayne
2008-08-13 20:49:02 +00:00
ca56aa97aa
Provide an immutable view of a DSet a Set for when you want to roll Java Collections style.
Michael Bayne
2008-08-13 20:32:48 +00:00
fcedbe90d7
Thread.dumpStack() circumvents whatever logging is configured and writes directly to stderr. Logging an exception with the associated warning does the right thing and logs the stack trace via the logging system.
Michael Bayne
2008-08-13 17:35:37 +00:00
b323bf6bf9
I'm not exactly sure, but it looks like this should be flagged as a singleton. At any rate, it fixes Project X, which we're supposed to demo soon.
Andrzej Kapolka
2008-08-12 20:50:02 +00:00
d293fe5140
Fixed comment.
Michael Bayne
2008-08-12 18:19:07 +00:00
6866f6b609
Allow things that requireEventThread() to proceed if they are called during the server initialization phase. Only after the event thread is established is it unsafe to be wild and wooly.
Michael Bayne
2008-08-12 18:18:08 +00:00
e137667f07
Updated some comments, added some sanity checks to registerDispatcher() and clearDispatcher() as I saw some craziness in the wild.
Michael Bayne
2008-08-12 16:57:46 +00:00
c1442d8b17
Include the Throwable in the warning here
Tom Conkling
2008-08-12 00:51:01 +00:00
1d3122d11c
Handle failure properly now that shutdown tries to finish up.
Michael Bayne
2008-08-11 20:19:28 +00:00
5c3b5e9af3
Finish off what's in our queue before allowing the writer to exit. This ensures that the LogoffRequest is sent to the server even if we have one or more pending messages on the writer's queue at the time of logoff().
Michael Bayne
2008-08-11 20:17:36 +00:00
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.
Michael Bayne
2008-08-10 02:40:19 +00:00
eda49af57b
Let's just use a runnable there. Having the node action turns out not to be super useful. If one really needs it they can keep a final reference around.
Michael Bayne
2008-08-10 02:16:54 +00:00
7481cdd5a1
Regenerated services.
Michael Bayne
2008-08-10 01:22:56 +00:00
2cb05c165d
A few things: - switched to Google Base's Function interface instead of rolling our own various function interfaces; - added invokeNodeAction() that invokes directly on a single node with no checking; - added an onDropped callback that will be invoked if a node action fails to match any nodes.
Michael Bayne
2008-08-10 01:16:31 +00:00
8ba97d2f70
Switch NodeAction to use the Presents streaming system instead of Serializable. I wanted to avoid having to declare a bazillion no argument constructors, but it's too annoying to have to make all the Presents streamable classes that one naturally wants to send between servers also Serializable.
Michael Bayne
2008-08-09 23:04:35 +00:00
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.
Ray Greenwell
2008-08-08 02:12:57 +00:00
aff425651c
Stop eclipse copying .svn dirs to the output directory.
Mike Thomas
2008-08-07 23:07:25 +00:00
01a39e500a
No longer need this tracking.
Michael Bayne
2008-08-07 21:00:26 +00:00
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).
Michael Bayne
2008-08-07 20:58:16 +00:00
3385e9ba4a
It's not entirely obvious how we should respond to multiple calls to logoff() fired in such rapid succession that we have not completed processing the first call before the next one comes in. We could do the cumbersome thing and keep track of an _isLoggingOff state but that is so inelegant that I can't bear to do it. I'd rather just cope in the Presents code and put the onus on the caller not to do wacky things like this.
Michael Bayne
2008-08-07 16:52:19 +00:00
4f0e41d971
Actually, let's do that this way.
Ray Greenwell
2008-08-07 03:13:37 +00:00
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.
Ray Greenwell
2008-08-07 03:03:18 +00:00
294f0fd1f1
Keep a history of what we do with subscriptions so that we can get some insight into the thousands of "Missing subscription in unmap" errors that we have been getting as a matter of course.
Michael Bayne
2008-08-05 13:12:18 +00:00
5c664a2667
Report a bit more information in these strange edge cases.
Michael Bayne
2008-08-05 12:49:40 +00:00
beadc8745c
Check whether arg unwrapping will result in a cast to a generic type and in that case, suppress unchecked warnings. We do this on the whole method because doing it for each argument would vastly complicate things and we can be fairly confident that this generated code will not have other dangerous casts added to it that would be hidden by the suppression.
Michael Bayne
2008-08-04 21:02:15 +00:00
d3d3528d83
Fix another issue with the log message in here. That would have looked strange indeed, in the logs.
Nathan Curtis
2008-08-04 18:49:42 +00:00
e14bbe5a02
the varargs logger is so fancy that it supplies "=" for us.
Nathan Curtis
2008-08-04 18:16:08 +00:00
9ae87e7c2b
Let's make that an else as well.
Michael Bayne
2008-08-04 18:12:28 +00:00
aba13e5718
Oops, that's tests not test.
Michael Bayne
2008-08-04 18:11:01 +00:00
93cffda93f
Actually Eclipse was telling us something useful. The point of that code was to issue a warning if someone created a reader method or a writer method but not both. Eclipse's static analysis helpfully pointed out that we'll never know if someone fails to declare a reader but does declare a writer because of the way method lookup fails. Since we want to actually detect that situation and generate a helpful warnings, we restructure the code so that the static analyzer is happy and developers asses are covered.
Michael Bayne
2008-08-04 18:09:55 +00:00
1fafa17293
Dave added the @SuppressWarnings("unchecked") because his stricker warning system in Eclipse told him (correctly) that some of the null checking there was not needed. If you have that setting off, however, Eclipse warns that the @SuppressWarnings itself is unneeded. So, instead of freaking out Eclipses of one persuasion or the other, lets just clean up the code and add an explanatory comment.
Nathan Curtis
2008-08-04 17:58:45 +00:00
024e112796
More output fixes.
Michael Bayne
2008-08-04 17:47:36 +00:00
c24d78a0ea
Super pedantic warning mode freaks out about the check in there since it really knows some of those states of nullness can't exist, but the conditional really reads nicely and conveys what's going on, so let's just suppress the warning.
Dave Hoover
2008-08-01 18:53:52 +00:00
29ada80ce5
Let's call a PlaceConfig a PlaceConfig.
Michael Bayne
2008-08-01 14:38:01 +00:00
0b6d823e8a
Fixed ChainedResultListener declaration.
Michael Bayne
2008-08-01 13:19:24 +00:00
3b032cacac
Move PlayManager*.java from crowd.server to parlor.server.
Par Winzell
2008-07-31 17:28:09 +00:00
b6b9786e17
We want to share delegates between GameManager games and AVRGameManager games, but AVRGameManager extends PlaceManager directly. This is the proposed solution: a PlayManager interface, and an associated PlaceManagerDelegate. I'm open for suggestions for better names.
Par Winzell
2008-07-31 05:32:07 +00:00
2cdac9dfcb
Need to include the service class when linking to a listener defined in it. This makes Eclipse happy. Javadoc emits warnings in the current form without the service class, in the new form with <service>.<listener> and also with <service>#<listener>. I just want to please javadoc, but I don't know how.
Charlie Groves
2008-07-30 18:16:12 +00:00
f0c529bb19
generate a little less needless whitespace
Charlie Groves
2008-07-30 17:21:25 +00:00
efaea0660c
Mark an override
Dave Hoover
2008-07-30 17:19:58 +00:00