Commit Graph

1101 Commits

Author SHA1 Message Date
Michael Bayne a9720fd905 LGPLed the library. Hello world.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3099 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-08-27 02:21:06 +00:00
Michael Bayne a2ae7d499d Track more objects!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3091 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-08-23 21:05:04 +00:00
Michael Bayne bfc0fbcd3e Removed DObject dump as that is now handled by the tracked object dump.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3090 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-08-23 21:01:36 +00:00
Michael Bayne 864adbdc20 Tracked objects. Now to set about to figuring out what to track.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3075 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-08-13 23:44:16 +00:00
Michael Bayne be14cd3877 Create all of our arrays and do it somewhere sensible.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3069 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-08-04 03:32:18 +00:00
Michael Bayne 89bf589d18 That is supposed to wrap.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3068 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-08-04 03:30:12 +00:00
Michael Bayne a924387ffb More statly bits.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3067 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-08-04 02:36:56 +00:00
Michael Bayne 6b0695af30 Track and report some connection manager stats over a short historical
period so that we can see what sort of funny business is going on with the
network thread when the process spikes up to 100% CPU.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3066 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-08-04 02:31:18 +00:00
Michael Bayne f700be00db Proving the value of the instant-review system, we repair this booch
before it has a chance to bring everything to a screeching halt.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3051 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-07-07 04:08:41 +00:00
Michael Bayne 212ebb1b53 As Ray pointed out, clearing the oid upon destruction causes problems, so
let's just not do it. We can accomplish our earlier goals, though with
slightly less distinction making capability, in a different way.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3050 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-07-07 03:10:24 +00:00
Michael Bayne 761e05c540 Try to only log when something actually bad is going on.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3049 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-07-03 09:30:03 +00:00
Michael Bayne f8e5c85d1f Keep mum about connections being reset by their peer. It is a normal event
in the wild, wild world of the Interweb.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3048 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-07-03 09:19:04 +00:00
Michael Bayne 124abb66f7 This also happens as a matter of course. Clients send invocation requests
after things have already been processed and cleaned up on the server.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3047 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-07-03 07:24:39 +00:00
Michael Bayne e57580626e Clients come and go at the craziest of times. No need to worry about it.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3046 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-07-03 07:19:46 +00:00
Michael Bayne 90e5231bae When a DObject is destroyed, set its oid to -1 so that it knows that it
was once alive but is now gone. Catch attempts to start a transaction on a
destroyed object and log them as such. Made isDestroyed() and isActive()
final for wholly unfounded performance reasons.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3045 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-07-03 07:16:56 +00:00
Michael Bayne e1d5b096ed Invoker refactoring.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3041 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-06-29 03:22:22 +00:00
Michael Bayne 031331a5c3 Regenerated from service definitions.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3037 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-06-22 13:57:44 +00:00
Michael Bayne 0af79e2719 Invoker unit namestravaganza.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3023 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-06-13 08:51:57 +00:00
Michael Bayne 86e2a25580 Allow invoker units to be easily named.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3022 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-06-13 08:03:45 +00:00
Ray Greenwell c8f519fc85 Rolled SettedObject right into DObject, because it's just too useful.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3019 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-06-03 18:15:03 +00:00
Ray Greenwell ae40f1ae0b SettedObject interface. We may just want to roll this into DObject.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3017 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-06-03 16:34:07 +00:00
Michael Bayne fadc9b82d9 Other entities may also want to queue up a shutdown.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3015 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-06-03 09:03:06 +00:00
Michael Bayne 0dfbb137e5 Added a mechanism for being informed when the connection manager fails to
bind to its socket.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3014 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-06-03 09:02:47 +00:00
Ray Greenwell 60f9159f25 When flushing inactive clients, don't let a choke in one prevent us
from flushing the rest.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3005 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-05-10 17:45:27 +00:00
Michael Bayne 32dee3cbaf 405 modified source files and 17,367 lines of diffs later we now enforce
more discipline when handling names in our code base. Any user entered
name should find its way into a Name object as soon as it comes out of a
text field or whatnot, and stay that way until it makes its way into a
text field or into a database record (for which String objects are vastly
simpler because of JORA magic).

Dear God, let me never again make a change this large for the rest of my
mortal life.

Unfortunately, this means we have to keep an eye out for funny business
pretty much everywhere. However, since we will absolutely want to test
market stalls and so forth on Azure, we'll have an opportunity to iron out
any funny business that might fall under the radar during our internal
testing.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2980 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-03-06 11:29:19 +00:00
Michael Bayne d618d3c771 Eclipse suggested cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2971 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-02-25 14:50:28 +00:00
Ray Greenwell bfe9cbba04 Changed the variable named "enum", since that's a keyword in jdk 1.5
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2964 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-02-22 18:52:33 +00:00
Michael Bayne ebdf693143 Log the culprit when we report and continue from a fatal error.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2963 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-02-21 02:18:56 +00:00
Ray Greenwell a7908454a1 Removed insano tracking that allowed me to find the IntroPirate bug.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2962 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-02-21 01:00:23 +00:00
Michael Bayne 350c49835c Let's use proper grammar.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2961 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-02-21 00:54:51 +00:00
Michael Bayne f8f4c1a611 If a client sends more than 100 messages in 10 seconds, give them the
heave ho.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2960 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-02-21 00:52:16 +00:00
Michael Bayne 461a72bd94 Mark each upstream message with a the time at which it was decoded from
incoming network data.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2959 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-02-21 00:51:02 +00:00
Michael Bayne a26e460fd6 Catch fatal errors thrown by invoker units as well. Also only log the
stack trace if we're not going to rethrow the error.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2958 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-02-21 00:22:30 +00:00
Michael Bayne 813e7b0d47 Attempt to catch and recover from fatal errors. If some rogue event
listener tries to 'new int[Integer.MAX_VALUE]' or infinitely loop, they
will get the smack down and we will go on about our business.

If things have actually gone pear shaped and we are failing on every
event, we'll hit the 30 fatal events in 60 seconds cap and stick a fork in
ourselves.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2957 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-02-21 00:04:40 +00:00
Ray Greenwell cd2d0ef47b Completely hacky debugging code added to help me figure out why intro pirates
sometimes (never on my server!) released twice. This will save the stack
trace from the first release and spit it out after the "normal" error-reporting
stack trace from the second release.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2955 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-02-13 19:10:54 +00:00
Michael Bayne 66b627ef2c Incorporated profiles into the 15 minute dump; removed some vestigal
constants.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2952 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-02-09 02:13:35 +00:00
Michael Bayne 1d97122a81 Use the fine grained timer (measure in microseconds rather than
milliseconds) and same every 100th event instead of profiling every event.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2951 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-02-09 02:08:28 +00:00
Michael Bayne 21c6dbfc48 Fixed up toString().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2945 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-01-31 12:16:12 +00:00
Michael Bayne 5774f1b6a5 Removed verbose logging. Didn't discover anything useful with regard to
disconnects.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2923 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-19 18:30:23 +00:00
Michael Bayne b029b5d8c3 Clear our active flag before passing requestFailed() onto the subscriber
so that things go smoothly if they decide in requestFailed() to call
unsubscribe() in the course of their normal shuttings down.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2920 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-17 00:15:08 +00:00
Michael Bayne d425ec7abb Added isActive().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2914 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-15 17:12:11 +00:00
Michael Bayne 1bdfb805ab We can't do this, currentTimeMillis() will return bogus values such that
the math appears to work out even though time stopped. We can use
RunAnywhere.currentTimeMillis() which will warn if time goes backwards but
since when that happens the IntervalManager stops dead in it's tracks,
we'll never get ticked to find out about it. Fucking Windows.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2911 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-13 02:56:29 +00:00
Michael Bayne 3af7167f2c Track and report whether we go long periods of time without being ticked.
We should be ticked every five seconds.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2909 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-13 02:50:12 +00:00
Michael Bayne 62e0e9cf37 Add a single method that we call in the various circumstances where our
client object has been updated so that the 90% of the directors that just
need to know any time that sort of thing happens so that they can listen
on the current client object can easily and robustly do so.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2907 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-11 21:36:12 +00:00
Michael Bayne f93c87cfb2 Properly manage the _pending flag in requestFailed().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2906 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-11 18:47:43 +00:00
Michael Bayne 810a6baf44 Make the safesub a little nicer about an unsubscribe() request that comes
on the heels of a requestFailed(). They don't have to do it, but it's
easier to just always call unsubscribe() whether things succeeded or
failed, so we'll quietly allow an unsubscribe() even if we have no object
or nothin'.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2905 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-11 18:46:02 +00:00
Michael Bayne 0bbb6759db Yes kids, it's important to be safe when you're playing in the dangerous
playground of distributed object subscription.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2904 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-11 18:36:55 +00:00
Michael Bayne 69a973efb2 Make our object manager available to nice askers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2903 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-11 18:36:32 +00:00
Michael Bayne 5418ffd2fd We love to be robust.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2897 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-09 20:41:23 +00:00
Michael Bayne b4ad08ad81 Hell, let's give 'em 10000. We blow through that many distributed object
events in 500 milliseconds.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2892 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-04 18:42:40 +00:00