Commit Graph

614 Commits

Author SHA1 Message Date
Michael Bayne 73e0a05b5f An internal error should always be accompanied by a log message. We could rely
on the adpater user to sort that out, but it's easier to just log things here
and save everyone time and effort.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3814 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-01-19 22:45:11 +00:00
Ray Greenwell 78f7b7f3e0 Avoid logging spurious warnings about ignored listeners that weren't
really ignored, but just never got responded to due to a bigger problem.
(The bigger problems are already logged.)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3810 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-01-19 01:40:05 +00:00
Ray Greenwell 60c204a93a Added a method that can be called to indicate that a response will
intentionally not be sent to the listener.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3809 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-01-19 00:53:35 +00:00
Michael Bayne 4324149cdb We queue ourselves up every time an event comes in, so we should only process
one event when our run() method is called and then let other (non-distributed
object) things get their chance to run in proper order.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3795 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-12-21 19:30:39 +00:00
Ray Greenwell 852620bea4 Regenerated marshallers with new response-tracking code.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3793 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-12-21 02:12:57 +00:00
Ray Greenwell 4cb18bd5ab Wrote code to help automatically detect bugs.
Have invocation marshallers track whether someone ever ended up responding
to the client: if they get garbage collected without ever doing so
(and they're not the base class InvocationMarshaller, which can only report
errors), log an informative error message.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3792 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-12-21 02:10:38 +00:00
Ray Greenwell 7a64be94f2 Goodbye, NestableIOException.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3788 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-12-20 02:09:18 +00:00
Michael Bayne 51d349295e Codified a common pattern into a helper class.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3784 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-12-15 04:20:22 +00:00
Ray Greenwell 0e60a76e2b Interval.Runnable -> Interval.RunBuddy
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3775 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-12-05 19:41:44 +00:00
Ray Greenwell 1673cf0865 Changed some things around so that we can do operations that may require
a round trip to the database after a user has changed user objects:
the ClientResolutionListener will get a ResultListener that it should
call when its all done.

Hopefully this doesn't break anything in bang or gardens...


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3766 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-11-18 02:32:26 +00:00
Michael Bayne 596d2a4708 blank() -> isBlank().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3749 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-11-09 04:00:16 +00:00
Ray Greenwell bd7c2caab9 Use new Interval.Runnable interface name.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3728 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-10-12 21:02:18 +00:00
Ray Greenwell 5bd90aa797 Stop using TrackedObjects.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3726 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-10-11 19:17:43 +00:00
Michael Bayne dd2468b140 Javadoc tidying up.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3725 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-10-08 22:21:19 +00:00
Michael Bayne e52758ef2c Allow the specification of legacy services for which provider interfaces should
not be generated. Cleaned up the generated provider interface formatting a bit.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3715 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-09-27 23:05:40 +00:00
Michael Bayne 2d9dffc7ec Automatically generate the provider interface when generating the FooMarshaller
and FooDispatcher. This means we will no longer be able to make FooProvider a
class that directly handles FooService methods, but the savings in confusion
for first time users of the framework will more than make up for the minor
inconvenience.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3714 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-09-27 22:27:04 +00:00
Michael Bayne 7fb4eafbf8 How have we not previously been screwed by the fact that an Error (like
NoSuchMethodError) sticks a fork in the event dispatcher thread?


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3712 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-09-27 04:38:33 +00:00
Michael Bayne dd44bb4f69 Removed unneeded and improper Runnable check.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3696 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-09-06 18:32:37 +00:00
Michael Bayne 5502936535 Instead of relying on toString() returning something sensible, we go back
to using the class name but get the appropriate class in the case of
RunQueue queued intervals.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3695 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-09-06 18:20:22 +00:00
Ray Greenwell 92e4e9cfaf There are zillions of invocation dispatchers registered with a multitude
of codes. Currently the unit dump that is done once every 15 minutes is
chock-full of one-off units. Let us report the short class name of
the dispatcher, rather than the code with which an instance is registered.

Also: Thou shalt always iterate over the entrySet of a Map if thou planneth
to utilize both the key and the value.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3694 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-09-05 05:38:58 +00:00
Michael Bayne 18fa50cb78 Temporarily use renamed constant.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3689 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-08-24 18:47:21 +00:00
Michael Bayne b7f02502aa Track max queue size and total events dispatched in an extensible stats
object that can be (and is) provided to external callers.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3688 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-08-24 18:28:36 +00:00
Michael Bayne 5fbb02bc34 Decode InvocationRequestEvent information as well.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3676 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-08-08 23:59:27 +00:00
Michael Bayne d30119eb65 Do some jiggery pokery to better classify the zillions of Interval$Unit$1
runnables that get added to the dobjmgr queue.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3675 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-08-08 23:54:41 +00:00
Ray Greenwell dc202b3e8a Let's find out what that invalid argument exception is, should it recur.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3665 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-08-01 18:11:33 +00:00
Michael Bayne 301c1cbe4d Dispatch the notification that the client failed to logon after we are
completely cleaned up so that an immediate attempt to logon using a
different configuration will not fail due to the client thinking it's
still logged on from the previous failed attempt.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3658 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-07-21 20:23:37 +00:00
Michael Bayne 15528d9055 Multiple ports!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3657 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-07-21 19:34:26 +00:00
Michael Bayne eba31091bb Switch the default port for the Presents system to the DirectPlay port.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3656 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-07-21 19:26:05 +00:00
Michael Bayne 8c94273b69 Allow the connection manager to listen for incoming connections on
multiple ports.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3655 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-07-21 19:21:33 +00:00
Ray Greenwell b1ec3ab5b5 Comment fixups.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3646 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-07-07 18:51:35 +00:00
Ray Greenwell fa8ee9f8f8 Added finishResolution(), which is called on the dobj thread to finish up
population of the client object.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3645 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-07-07 18:46:38 +00:00
Michael Bayne 9f470a4205 If we end up with a selectable channel in our selection set that we no
longer know about, request that it be given the boot when it rears its
ugly head.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3643 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-07-06 01:00:19 +00:00
Michael Bayne 2c17f3612e Track the number of seconds for which the client is connected at the
presents level as it is of interest in pretty much any system. This allows
us to do away with one of the time stamps as well.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3624 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-06-24 22:10:19 +00:00
Michael Bayne a940d490a8 Switch to filterable log format.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3622 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-06-24 20:36:53 +00:00
Ray Greenwell f9f1307884 Count how many client resolutions are currently being processed at any time.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3599 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-06-15 20:46:36 +00:00
Michael Bayne eec8a2ceb9 Record our queue size once every five minutes, and do it using a nice
happy constant.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3595 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-06-13 18:42:29 +00:00
Michael Bayne 457729fdcb Record the maximum distributed object and invoker queue size every minute
to a specific stats log.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3594 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-06-13 18:16:56 +00:00
Michael Bayne 74b44bc21c Added setUsername().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3591 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-06-08 23:36:27 +00:00
Ray Greenwell 7233c34e0f Call userObjectWillChange prior to informing the caller that the
change has been reported.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3578 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-05-27 01:01:26 +00:00
Ray Greenwell ae0547a0ff Cope with the bug we observed this morning as best we can, shut down
the conmgr (and in so doing, the entire server).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3534 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-05-02 18:52:20 +00:00
Ray Greenwell 16322b1422 Added some warnings for illegal DSet operations and added a small
optimization in the process.
Previously, we dumped stack on the server if a entry add was illegal but
did nothing for update/remove.
On the client, we complained for updates and (indirectly) adds, but not
removes.
Now we complain everywhere.
And- as an added bonus, on the server we now do only one binary search for
updates and removals. Whee!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3528 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-04-29 02:30:23 +00:00
Michael Bayne ee144eb974 Created a basic application framework that integrates JME's rendering loop
(in fixed framerate format) with the Presents event queue in what will
hopefully be happy harmony. Also made some edits to the Presents code to
not sound like we assume things run on the AWT thread which we don't and
which is not the case in this framework.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3510 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-04-20 21:44:03 +00:00
Ray Greenwell ec31df7a99 Removed cruft.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3486 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-04-14 20:39:56 +00:00
Ray Greenwell 4c3dd9b1af Dodge the BSD bug with toStringing a channel.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3480 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-04-13 19:18:45 +00:00
Ray Greenwell b80eec3959 Don't let our max queue reporting drift a few ms every minute.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3472 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-04-12 19:04:39 +00:00
Michael Bayne 09822e45c5 Don't log our channel in the normal case to avoid potentially triggering
what I believe to be a race condition in SocketChannel.toString()
(ultimately sun.nio.ch.Net.localAddress()) on FreeBSD.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3471 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-04-12 18:09:17 +00:00
Michael Bayne d1a19cc346 Don't report the first time, just set our next report stamp.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3470 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-04-12 17:46:14 +00:00
Michael Bayne 25b84d1ed6 Allow queue reporting to be activated programmatically. Fixed bug.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3469 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-04-12 17:40:13 +00:00
Michael Bayne 7c24e70523 Added code to track the largest event queue size and report it every
minute if so instructed.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3468 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-04-12 17:33:55 +00:00
Michael Bayne 5507f1a857 Report long units in milliseconds.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3467 542714f4-19e9-0310-aa3c-eee0fc999fb1
2005-04-12 17:16:58 +00:00