Commit Graph

4221 Commits

Author SHA1 Message Date
Ray Greenwell 2f9ea3a69e Added a streaming Boolean wrapper. Untested.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4279 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-19 23:59:55 +00:00
Ray Greenwell 783b5ef33d Be sure to call super() in our clickHandler so that selected state toggles
when toggle mode is true.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4278 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-19 22:25:30 +00:00
Michael Bayne 2dcdebc29b Document the messages broadcast to the server.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4277 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-19 00:45:51 +00:00
Michael Bayne 41b73ffcb4 Factored the automatically scheduled reboot code out into a reusable class.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4276 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-19 00:43:08 +00:00
Ray Greenwell 78c7b49f9b Created a base Controller class; added a CommandButton that submits
controller commands; have PlaceController extend Controller.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4275 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-18 22:30:05 +00:00
Mike Thomas bbdcb53039 Fix problem where users are unable to connect to certain servers due to their preferred port getting locked into 443, which we aren't actually listening on.
We need to set up the preference interval (but not start it) before we try to open the connection.  Otherwise, we won't have it around if we get a shutdown call during that opening (which can and does happen).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4274 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-18 05:24:22 +00:00
Ray Greenwell 0387014af8 Added a sort() method that operates on arrays of Comparable elements.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4273 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-18 02:22:24 +00:00
Ray Greenwell 786a8ab947 Bugfix with toArray().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4272 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-18 02:21:55 +00:00
Ray Greenwell f118e213d2 Was logging warnings for any message bundle that didn't use a custom
class. Fixed.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4271 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-18 02:21:25 +00:00
Ray Greenwell ce3d3474f9 implement Comparable.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4270 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-18 02:20:40 +00:00
Ray Greenwell 8ede77fcb2 Made toStringBuf() protected so that subclasses in other packages may
override it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4269 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-18 02:20:22 +00:00
Michael Bayne 5def25058a Avoid sticking a fork in things if we are asked to remove a null key.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4268 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-18 01:08:31 +00:00
Ray Greenwell 7ad341ef8d Removed debug logging.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4267 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-14 02:15:48 +00:00
Ray Greenwell a9d0c5d285 Let's make these work correctly...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4266 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-14 02:11:06 +00:00
Ray Greenwell 947db5851d Renamed the InvocationListeners to the standard way I've been naming
inner classes over here on the actionscript side.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4265 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-13 19:08:18 +00:00
Ray Greenwell fc91faf25f Standardized what we do in cases where a CloneNotSupportedException occurs
where we don't think it ever will.
Instead of returning null, or the exception, always throw a runtime
with just the CloneNotSupportedException as the argument, as this will
contain the most information and will preserve the stack trace.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4264 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-13 18:07:27 +00:00
Ray Greenwell ca06b47835 Report as useful a message as we can when we have an error.
I was getting an IllegalArgumentException and the message was "null",
so this will at least log the name of the exception.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4263 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-12 23:57:14 +00:00
Ray Greenwell 1818bd14dd Found one of the bugs: the default ArrayStreamer was being picked to stream
TypedArrays.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4262 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-12 23:51:01 +00:00
Michael Bayne 3c91f3bad2 Need JUnit.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4261 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-12 17:48:01 +00:00
Michael Bayne 7cc7f75bcc No longer need these dependency checks.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4260 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-12 17:43:57 +00:00
Michael Bayne 4ee125983d Updated our library dependencies.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4259 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-12 17:42:53 +00:00
Ray Greenwell 2f3584adf7 Various small fixes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4258 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-12 02:22:18 +00:00
Ray Greenwell 78cefe9a8f Added the values() function to the Map interface, as well as a new method,
forEach(), in which you pass a visitor function that will visit each key/value
stored in the map.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4257 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-11 18:22:29 +00:00
Michael Bayne 489332edca Nixed old temporary code.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4256 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-07 20:43:57 +00:00
Michael Bayne 4894d1cfde Annoyingly, ClientObserver.clientDidLogoff() is called before the client's
inner bits are all clear and ready to try logging on to a new server. We
specifically wait to call clientLogonFailed() until after everything is
cleared, but I don't want to change the behavior of clientDidLogoff() for fear
that any one of the zillion directors depends on something being around during
that call.

Instead I added another callback clientDidClear() that is called when a
successful session is fulled cleared out (basically when we're not calling
clientLogonFailed()) so that entities that are waiting for a logoff to finish
so that they can logon somewhere else have a clean way of doing so.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4255 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-07 04:02:42 +00:00
Michael Bayne c0628363cb Updates to support a public facing and back-channel host for each node.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4254 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-06 23:52:55 +00:00
Michael Bayne 8df1c91699 Changed the weird-ass argument ordering for the UserMessage constructors. I'd
like to change the ordering for ChatMessage and its other derivations (the
bundle should precede the message) but that's more dangerous as the constructor
signature would not change.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4253 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-06 00:35:11 +00:00
Michael Bayne a3c86ec1d4 Make it easy to create a UserMessage for tells.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4252 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-06 00:27:44 +00:00
Michael Bayne 05cef39f63 Revamped chat handling a bit:
- the ChatProvider is now a proper singleton rather than providing static
methods for everything (it is accessed through CrowdServer.chatprov)
- it can now be extended to create a custom UserMessage for tells (which can
contain avatar information on systems that want to show an avatar on the
receipt of a tell)
- the ChatProvider API was tidied up a bit as some methods had been addded over
time that were not sufficiently general purpose so their callers will be
changed to use the general purpose APIs.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4251 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-06 00:22:12 +00:00
Michael Bayne ef86404ed8 Ignore peer clients, and scan through the client info set when removing because
we can't rely on building a new client info at session end time because the
client's ClientObject will have been destroyed.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4250 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-05 23:27:25 +00:00
Michael Bayne 6be44f5a65 Finished up the basic peer system and wired up the tell forwarding. In theory
it all works, now to test it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4249 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-05 22:48:32 +00:00
Michael Bayne e492f09bee Now that we use the standard resolution observer mechanism, we need to
decrement the reference count of the client object as it is normally
incremented for every resolution listener.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4248 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-05 22:29:38 +00:00
Michael Bayne 77290fc1a6 Fixed type-unsafety and deprecation bits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4247 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-05 18:59:31 +00:00
Michael Bayne bdadd2377e Behold, TAPOAFTSM! The Awesome Power Of A Fully Type-Safe Mothership.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4246 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-05 00:56:16 +00:00
Michael Bayne 8afd0316ec I decided to go hog wild and clean up all the type use in Presents which
required some serious bending and folding of the generic type system, but for
the most part we managed to avoid any mutilating. The gendobj task now
generates properly typed "addToXXX" and "updateXXX" DSet methods based on the
parameterized type of the DSet. This might cause unrecompiled code to break,
but I don't think there are many cases in the base toolkit where people call
DSet adders or updaters. We'll see and I'll add backwards compatibility
versions for cases where we need them to support GG games (everything else we
can just recompile).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4245 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-05 00:55:05 +00:00
Michael Bayne 94b79826d4 More type safety.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4244 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-05 00:51:22 +00:00
Michael Bayne a89473d1b5 Type safety patrol.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4243 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-05 00:50:28 +00:00
Michael Bayne 40d0df6dfa Properly quell the unchecked warning. I'm not entirely sure whether there is a
construct that could be made to do what I want in a type safe manner. The
method returns Class<? extends NodeObject> which is correctly expresses the
valid types that can be returned.

However, I can't pass the capture <? extends NodeObject> (NodeObject extends
DObject) to a method that takes <T extends DObject>. I'm not entirely sure why
not, but I imagine it has something to do with the subtleties of type-erasure,
or maybe it's just a limitation of the inference that can be done by the
compiler. I don't know what type <? extends NodeObject> is considered to be, I
would have thought just NodeObject but apparently not.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4242 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-04 02:20:10 +00:00
Michael Bayne 3a9c6ced44 A bunch more peer business.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4241 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-01 03:34:00 +00:00
Michael Bayne 0bceb75365 Move these up with their accessor friends.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4240 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-01 03:30:05 +00:00
Michael Bayne 7d54db4a95 Cleaned things up, fixed a years old bug. Now we will not get hosed if client
resolution fails for whatever reason and we will properly track our pending
resolutions (not leaving them dangling if resolution failed) and do so more
elegantly (by simply acting as a ClientResolutionObserver ourselves).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4239 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-01 03:29:19 +00:00
Michael Bayne 33a758dfce The basis of cluster support for Presents servers. All servers in a cluster
make connections to other servers in the cluster and can exchange events (in a
limited fashion).

This is different than Liz's project wherein servers share an oid space and one
can interchangably work with distributed objects from any server. This package
provides a means by which certain services (by default, presence and chat) can
be communicated between servers to allow communication between players
scattered around a bunch of otherwise independent server instances.

This is less general purpose but also less likely to encourage people to write
code that tightly couples multiple servers and then falls over because it
generates gobs of network traffic as events are flung willy nilly behind the
scenes.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4238 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-07-01 00:19:59 +00:00
Michael Bayne 06680b789f Type safety.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4237 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-30 21:58:34 +00:00
Michael Bayne e7cb973b94 Missed a spot.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4236 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-30 18:29:32 +00:00
Michael Bayne b417d3cb0b Java uses SIGUSR1 for interrupting threads when it wants to send them an
asynchronous exception, so we can't use it or badness will ensue.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4235 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-30 18:26:58 +00:00
Michael Bayne a3b1cf931e Nixed obsolete files.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4234 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-29 21:15:54 +00:00
Ray Greenwell 608be4557b Some changes required for the new compiler.
- Import bleeding may be fixed, as I had to import a bunch of things I
  should have had to earlier.
- NOW they make duplicate variable definitions bad (but without block
  scoping... yay).
- Another hoopjump.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4233 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-28 22:04:19 +00:00
Michael Bayne 0a5953bf17 Chipping away at proper type safety for all of the Narya code.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4232 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-27 17:46:36 +00:00
Michael Bayne 54db9d7d4e Changed over to the new logging style. The static methods remain to support old
code but new code should use the new logging style:

import static com.threerings.presents.Log.log;

and call log.info(), log.warning(), etc. We can migrate old code as the desire
grips us.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4231 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-27 17:46:06 +00:00
Michael Bayne 01e9b0457d Checking in some work I did on getting listening on port 443 working by
inheriting a socket channel inetd style. It doesn't actually work for annoying
reasons, but I figured I'd get the code in there and the type safety fixes and
maybe Sun will fix their stupid bug at some point (I should create a test case
and actually submit a bug report...).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4230 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-27 17:33:06 +00:00