Commit Graph

1101 Commits

Author SHA1 Message Date
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
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 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
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
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
Ray Greenwell 79c6427c21 StringBuffer -> StringBuilder.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4191 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-13 22:42:20 +00:00
Ray Greenwell f7983050e9 Modernized something that must have been around prior to the ability to
post Runnables to the omgr queue.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4187 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-12 23:07:25 +00:00
Mike Thomas cd8c665cf5 Pull out the ClientManager creation so it can more easily be overridden.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4171 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-06-06 01:01:07 +00:00
Michael Bayne 56216c27e8 Would you believe, more type-safety?
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4167 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-31 04:44:21 +00:00
Michael Bayne 83cffce259 Regenerated object definitions with the new hotness.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4166 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-31 04:16:57 +00:00
Michael Bayne 07ee188d82 Properly handle parameterized DSet fields in DObject declarations. Other
parameterized types will be easy to add, but I've not yet had occasion to use
them. We're all about "just in time" support.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4165 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-31 04:16:04 +00:00
Michael Bayne 331c3b285f A whole monkey load of type-safety and the addition of typedClone() which
returns a properly typed clone of the DSet in question.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4164 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-31 04:14:42 +00:00
Michael Bayne 77adfc15ec Revamped the basic Presents client to support attempts to connect to the server
on multiple ports, falling back from one to the next as appropriate.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4158 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-30 22:12:15 +00:00
Ray Greenwell 26c928fc45 Use the valueOf factory methods pretty much everywhere.
These are the preferred way to get instances of Boolean, Byte,
Short, Character, Integer, Long, Float, and Double object.
It's always made sense for Boolean objects, and with 1.5 these factory
methods were blessed as the proper way to get instances unless one
absolutely needed a distinct object.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4145 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-24 01:24:24 +00:00
Ray Greenwell 869641562d Removed unneeded line.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4139 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-23 21:34:40 +00:00
Michael Bayne e9294b4a3d Fixed bug with argument handling.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4136 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-22 17:27:40 +00:00
Michael Bayne 9d6c809533 Allow the set of ports to be specified for the rejector.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4135 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-05-22 16:52:59 +00:00
Michael Bayne b2896dc7ff Minna daisuki type safety.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4075 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-28 18:29:46 +00:00
Ray Greenwell 481722188d Removed some unneeded casts now that the _entries array
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4064 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-26 21:32:09 +00:00
Michael Bayne 0e27af2af4 Because we defined DSet as parameterized on <E extends DSet.Entry> it rewrites
all generic references to E as DSet.Entry rather than Object which is what I
was assuming. So when I write:

(E[])new Object[...]

that gets rewritten to:

(Entry[])new Object[...]

which causes le freakout. We need to use Entry[] everywhere, which we happened
to be doing for everything except toArray().

I rewrote things to use E[] everywhere now that I know it will get rewritten to
Entry[]. I thought it was going to get rewritten to Object[] before so I didn't
genericize that stuff.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4059 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-26 02:13:10 +00:00
Michael Bayne 918d38a3b1 Implement Iterable. Whee!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4054 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-25 02:07:32 +00:00
Michael Bayne a4c7ecb5e3 Made DSet (sort of) type safe. To be really really typesafe DSet.Entry would
have to be parameterized on the type of the Comparable that is returned by
getKey(), but that turns out to be a twisty maze of generics that is not
obvious to me how to express using Java's generics syntax and it opens up
various cans of worms that I don't have time to solve right now. So we'll
settle for the DSet itself being parameterized on the Entry class and the Entry
class being non-type safe.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4051 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-24 22:02:48 +00:00
Michael Bayne ad49401543 Proguard fucks up if we use clone(). There's no apparent way to find out why it
magically booches and causes an IncompatibleClassChangeError, so we're just
going to work around it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4008 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-10 20:16:44 +00:00
Michael Bayne 5a2583470c Brought code in line with changes to Samskivert. I have not started to
genericize Narya data structures, nor make the existing code type safe. That's
going to be an extremely large project.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4007 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-10 08:59:30 +00:00
Michael Bayne 8d91fa9e7f Don't log a stack trace here.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4004 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-10 01:22:39 +00:00
Ray Greenwell 3cef4b5cec Prevent NPE when we process a pong that was destined for a different
DeltaCalculator.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4003 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-04-07 18:52:24 +00:00
Ray Greenwell fb913a6bba Go back to using the median value for our delta estimate.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3991 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-03-30 19:06:40 +00:00
Ray Greenwell 981deb3b6b Fixed two bugs with delta calculation:
- if a pong response took more than 5 seconds to receive, another ping
  would be sent. When the pong finally arrived the delta would be
  calculated using the most recently sent ping.
  Fix: don't send more pings while waiting on a pong.
- After a pong is received, the _deltas array is mangled while
  calculating the server delta, making subsequent pongs possibly
  overwrite earlier calculated deltas.
  Fix: calculate using a copy.

Also, changed the delta calculation to be the mean of the deltas rather
than the median. Left code in to do it both ways if this change was not
kosher...


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3990 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-03-30 01:08:32 +00:00
Ray Greenwell 07bc269f59 Bugfix for something that may never be needed in the wild: when an
AuthingConnection is replaced by a RunningConnection we need to transfer
over any associated overflow queue to the new connection object.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3989 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-03-30 00:09:55 +00:00
Michael Bayne 23f531fa42 Removed overflow queue logging as this has all been running happily for almost
a year since the refactor that inspired leaving this logging in.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3961 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-03-18 00:41:53 +00:00
Ray Greenwell 333d476a4a Use array cloning rather than creating a new one and copying into it.
(It may be the same thing under the hood, but our pal Occam would approve.)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3958 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-03-17 22:29:00 +00:00
Ray Greenwell 7336f11d6f Shrink capacity in DSets upon element removal if the capacity is 8x larger
than it needs to be.
Broke streaming compatibility in order to be much more efficient over the wire.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3938 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-03-11 02:43:32 +00:00
Ray Greenwell 5f6152230a Tiny optimization.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3920 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-03-08 00:49:04 +00:00
Michael Bayne 18418122ea More fixy fixy with the commas.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3916 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-03-06 22:10:05 +00:00
Michael Bayne 1effaf4ad9 No comma if we have no args.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3915 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-03-06 22:01:31 +00:00
Michael Bayne 17fdaa7c0d Rewrote the InvocationReceiver generation process in Java as an Ant task. I had
previously redone the InvocationService and DObject generation tools but not
the InvocationReceiver tool.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3913 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-03-06 21:50:23 +00:00
Ray Greenwell 17987537f4 Provide a convenient method for indicating that a listener does not
need to be responded to. It turns out that a listener may not be
a marshaller if a server entity is calling a service request method
directly.  The convenience method handles this and is also cleaner looking
for callers.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@3832 542714f4-19e9-0310-aa3c-eee0fc999fb1
2006-02-04 03:49:53 +00:00
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