Commit Graph

4188 Commits

Author SHA1 Message Date
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
Michael Bayne 755d9326fe Pardon the code rewritery but I got halfway through an email explaining the
synchronization problems and decided it would be a lot easier to just fix them.
The interval thread and the communication writer thread need to be properly
coordinated to avoid funny business.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4229 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-27 06:59:30 +00:00
Ray Greenwell 80bbff432d The standard CursorManager is a total piece of shit.
Using the source code, I made one that takes the same idea and doesn't suck.
Errr, it doesn't suck as much. It's still very shitty to go from the fast
system cursor to a chunky custom cursor that updates position at the
framerate of the swf.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4228 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-27 02:08:52 +00:00
Mike Thomas d492a4b154 Be smarter about quick-disconnects, don't count them as preferred ports. If we have a disconnect within 5 seconds, we set the _next_ port in the list as our preferred port. This should address the windows network sharing issue.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4227 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-27 01:52:06 +00:00
Ray Greenwell f27eb3f319 Added endsWith().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4226 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-26 22:20:26 +00:00
Michael Bayne a63af7933e Make it possible to generate a non-resetting report externally.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4225 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-25 23:31:21 +00:00
Michael Bayne b88b142bd3 Added mostRecent() as that's the one we want to display rather than current
which is currently accumulating on the server and always zero on the client.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4224 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-25 23:23:23 +00:00
Michael Bayne 55b7933c5c Get a free toString().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4223 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-25 23:16:14 +00:00
Michael Bayne e21451354c More migrated resource nixing.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4222 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-25 23:14:57 +00:00
Michael Bayne 04ab1b0b58 Nixed various resources that have been migrated to Nenya or Vilya.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4221 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-25 23:14:32 +00:00
Michael Bayne d40435b221 Accept and honor the reset parameter.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4220 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-25 23:09:19 +00:00
Michael Bayne 012549d177 Differentiate between interactive reports and periodically generated reports.
Only reset our accumulating counters for the periodic reports.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4219 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-25 23:03:51 +00:00
Michael Bayne 091fda3e77 Revamped stats tracking so that it all happens on the same reporting interval.
Turned off the very verbose unit profiles as we don't currently use them. Wired
up SIGUSR1 to dump a report to the log.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4218 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-25 22:47:42 +00:00
Ray Greenwell 459f12ded5 Copy Java's valueOf factory method for primitive wrapper classes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4217 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-24 23:03:07 +00:00
Michael Bayne 2382fb5cd6 This was moved into Nenya.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4216 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-23 21:51:02 +00:00
Michael Bayne 6424adf26d More log fixing. The tools package will move to Nenya.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4215 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-23 19:40:55 +00:00
Michael Bayne ecac8e0f6d Move to our new Java logging based logging style which also fixes a conflict
between logging in the Narya util package and the Nenya util package.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4214 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-23 19:32:51 +00:00
Ray Greenwell f6f3c89fe0 Moved to vilya.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4213 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-23 19:20:52 +00:00
Ray Greenwell 9136cd4bce appendectomy
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4212 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-23 19:14:38 +00:00
Michael Bayne 0638ba824d We don't need the rsrc directory in Narya. It's resource free!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4211 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-23 19:06:37 +00:00
Michael Bayne c01703dc3f Whirled lives in Vilya.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4210 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-23 18:35:30 +00:00
Michael Bayne c0a244cb8d Hold onto your hats kids, it's the biggest little refactor this side of the
Pecos. I'll sort out the per-project niggling bits in just a moment.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4209 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-23 18:12:45 +00:00
Michael Bayne 5ceed9c8b2 Nix the use of enum which is freaking out Proguard/Retroweaver. We'll sort it
out later when we're not in the middle of an Ice release.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4208 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-21 19:43:50 +00:00
Michael Bayne 2f3ecdf86d Some backwards compatibility bits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4207 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-21 08:40:20 +00:00
Michael Bayne 0d887c9ede Cope with a lack of a KeyboardManager, base our idle check time on our minimum
idle time.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4206 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-21 08:14:45 +00:00
Michael Bayne 85d60b6520 Factored out the idle tracking code from Yohoho.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4205 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-21 07:23:23 +00:00
Ray Greenwell aa5f38be5d Changed the way the Authenticator is created.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4204 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-21 03:47:32 +00:00
Mark Johnson 8093513183 Have play call StartObserver.soundStarted with a null sound when the
sound fails to play for any reason.  We use the StartObserver to time 
other effects with sounds, however if the sound isn't going to play, we 
still want the other effects to go ahead.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4203 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-21 02:49:46 +00:00
Ray Greenwell 6a8fcd80b7 Added a method to ensure a particular capacity for client preferences.
We'll call this with a big fat number whenever a non-guest logs in. The
first time we ask, the user will authorize the big fat storage, and it will
never ask again. Hopefully we can make it look like part of the login...


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4202 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-21 01:02:26 +00:00
Andrzej Kapolka 3fcc53f1b9 Make this method public, as it's now an override of a public method.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4201 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-20 20:10:42 +00:00
Andrzej Kapolka dc3bcddeb1 Added basic JME import dialog to model viewer. With the latest version
of LWJGL, the AWT canvas releases its OpenGL context after rendering.  
Rather than redesign all event handling to take place in the update 
method, I put in a hack to grab the context back.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4200 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-20 19:36:23 +00:00
Ray Greenwell 694152013c Added toHex(uint).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4199 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-20 19:21:10 +00:00
Michael Bayne 78a8d6fe62 Nix superfluous log message.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4198 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-17 23:12:21 +00:00
Michael Bayne 9e0eac5944 Handle non-Joonix file paths properly.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4197 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-17 05:07:26 +00:00