Commit Graph

118 Commits

Author SHA1 Message Date
Michael Bayne 293ec52255 Some Galileo inspired raw type and dead code elimination.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5956 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-09-14 22:20:16 +00:00
Michael Bayne f3fd4d28a5 We need to use the thread context classloader if one has not been specified.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5939 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-09-07 20:39:32 +00:00
Ray Greenwell 4848fe4b29 Now that ByteEnum has been liberated from depot, lets
support streaming them as bytes.
It's better than writing a modified UTF String, but
it'd be even nicer if we could avoid the short to read the class name
(Enums are final), but I suppose we still have to know whether one is null
or not. Hm.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5920 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-08-19 02:18:14 +00:00
Dave Hoover b04e27f8fa Prune spurious semicolons
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5917 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-08-17 21:45:13 +00:00
Michael Bayne 6e9077780c Added/updated source headers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5829 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-06-20 21:09:34 +00:00
Dave Hoover b222eed2fd A healthy dash of google-collections
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5798 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-23 01:04:08 +00:00
Andrzej Kapolka 1bdb2cae16 Added methods and @Intern annotation to stream pooled strings (a
la String.intern) as we do class names, by sending the value the 
first time and a short code thereafter (with special handling for 
datagrams, where me must continue sending the mapping until we 
know they've been received).  This is mostly useful for the 
lengthy config names and parameter names of Project X, but it 
could conceivably also be used for things like NamedEvents, which 
stream the same object field names many times in the course of a 
stream.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5797 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-05-22 22:43:19 +00:00
Andrzej Kapolka abc0bb9eb3 UDP fixes: we can only stop transmitting the mappings sent in the
acknowledged datagram (not the ones before it, which may or may 
not have been received).  Also, make sure we don't throw an 
ArrayIndexOutOfBounds exception when retrieving a bogus class 
mapping (so that we show the correct error logging information).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5751 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-27 23:28:16 +00:00
Charlie Groves 749ab8e1bb google-collect upgrade
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5745 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-04-24 23:01:40 +00:00
Michael Bayne 688f2580ed Varargified log calls.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5697 542714f4-19e9-0310-aa3c-eee0fc999fb1
2009-03-26 00:02:19 +00:00
Michael Bayne 40e9394817 Fix use of raw type.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5550 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-14 03:12:33 +00:00
Andrzej Kapolka 3be495e23b Added a note indicating that only references to streamable
classes can be streamed.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5525 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-08 02:17:20 +00:00
Andrzej Kapolka 28c7609df8 Allow streaming Class references.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5524 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-11-08 01:57:42 +00:00
Michael Bayne 8970582e6d Only issue this warning if we actually have one non-null and one null value.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5461 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-10-24 21:43:23 +00:00
Dave Hoover 657aafaedb And of course, if I were thinking this morning, I would've rerun the organize imports
thing before committing instead of just going "oh yeah, I've been having this stuff
sitting around uncommitted for a while waiting on it to be blessed" and missing
out on things that'd changed in the meantime.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5400 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-26 17:35:29 +00:00
Dave Hoover 8856120403 Import cleanups
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5399 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-26 17:29:59 +00:00
Ray Greenwell 1c711f493d Google's Predicate is an interface, and the build server uses Java 5,
and you can't use @Override in java 5 when implementing an interface method.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5378 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-16 22:59:17 +00:00
Ray Greenwell 1f3b968a00 Use google's Predicate class instead of samskivert's.
- It's probably "more" standard, and maybe when they finally add Predicate
  to java.util, it will be based on google's implementation.
- Unfortunately this is a little less efficient at runtime. The samskivert
  Predicate can filter into a new Collection that knows its size, google's
  code just returns an Iterable that is a *view* on the Iterable passed
  in, so it doesn't know how many elements are in it. When we copy it into
  an array, a List is first created to receive all the filtered elements
  from this view, then that List is turned into an array. Oh well, it's
  less lines of code here in this class thanks to Google's fun libs.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5375 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-16 22:32:48 +00:00
Dave Hoover 7ee6ace683 Javadoc warnings cleanups.
Note: this involves generated code from a samskivert patch I only just sent to mdb,
but he's in a meeting, so that won't show up for a little.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5369 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-09-12 17:59:26 +00:00
Michael Bayne fcedbe90d7 Thread.dumpStack() circumvents whatever logging is configured and writes
directly to stderr. Logging an exception with the associated warning does the
right thing and logs the stack trace via the logging system.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5318 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-13 17:35:37 +00:00
Nathan Curtis d3d3528d83 Fix another issue with the log message in here. That would have looked strange indeed, in the logs.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5290 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-04 18:49:42 +00:00
Nathan Curtis e14bbe5a02 the varargs logger is so fancy that it supplies "=" for us.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5289 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-04 18:16:08 +00:00
Michael Bayne 9ae87e7c2b Let's make that an else as well.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5288 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-04 18:12:28 +00:00
Michael Bayne 93cffda93f Actually Eclipse was telling us something useful. The point of that code was to
issue a warning if someone created a reader method or a writer method but not
both. Eclipse's static analysis helpfully pointed out that we'll never know if
someone fails to declare a reader but does declare a writer because of the way
method lookup fails. Since we want to actually detect that situation and
generate a helpful warnings, we restructure the code so that the static
analyzer is happy and developers asses are covered.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5286 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-04 18:09:55 +00:00
Nathan Curtis 1fafa17293 Dave added the @SuppressWarnings("unchecked") because his stricker warning system in Eclipse told
him (correctly) that some of the null checking there was not needed.  If you have that setting
off, however, Eclipse warns that the @SuppressWarnings itself is unneeded.  So, instead of freaking
out Eclipses of one persuasion or the other, lets just clean up the code and add an explanatory
comment.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5285 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-04 17:58:45 +00:00
Dave Hoover c24d78a0ea Super pedantic warning mode freaks out about the check in there since it really
knows some of those states of nullness can't exist, but the conditional
really reads nicely and conveys what's going on, so let's just suppress the warning.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5283 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-08-01 18:53:52 +00:00
Dave Hoover efaea0660c Mark an override
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5276 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-30 17:19:58 +00:00
Michael Bayne 725f656197 Fixed a bunch of type safety bits pointed out by the latest version of Eclipse.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5274 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-30 12:58:51 +00:00
Michael Bayne ca4c5897fb Tidied up.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5273 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-30 09:32:48 +00:00
Tom Conkling 81dc030710 don't lazily create _isStreamableFieldPred
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5272 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-30 01:05:23 +00:00
Tom Conkling 7a1ede64af Added a NotStreamable annotation. Streamable objects that have fields annotated with NotStreamable will not have those fields sent over the wire, at least by the default readObject()/writeObject() Streamer methods.
Currently, Streamer will skip fields marked transient for the purposes of the default streaming implementation, but 'transient' is also used by the Java serialization mechanism, and there are instances where a field in a Serializable, Streamable object can't be streamed but should be serialized.

I have a bunch of code to check in related to the game server sending stat updates to the world server, but I'm going to hold off on those changes until I get the go-ahead from the powers that be that this is an acceptable solution to the problem.

git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5270 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-30 00:04:06 +00:00
Dave Hoover f2eeab0581 Truth in commenting.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5257 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-22 23:12:55 +00:00
Michael Bayne 67ce73b61d More style cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5249 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-22 13:39:42 +00:00
Dave Hoover 6b1d65553f And finally, narya gets the imports/overrides/regen love.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5241 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-07-18 23:20:17 +00:00
Michael Bayne 733ec9e5ab Unused import nixage.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5204 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-06-29 12:38:24 +00:00
Michael Bayne 919112cf88 Switch to new samskivert logging API.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5134 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-27 19:25:38 +00:00
Andrzej Kapolka 9bafa5e7c8 Basic support for datagram messaging. Hope I haven't fucked
anything up!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5090 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-13 21:12:39 +00:00
Michael Bayne 0fb090ea52 Let's also make that a warning now that we don't think it's going to happen as
a matter of course on old VMs.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5020 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-23 19:59:07 +00:00
Michael Bayne 9700aa13cd Use a method available since JDK1.1 to determine our innerness and simplify the
logic. If we're inner and we're not static, we have a problem.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5019 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-23 19:58:16 +00:00
Michael Bayne 290d7a9ea1 Freak not out if we fail to determine if our class is local, anonymous or a
non-static member. Pre-1.5 VMs can't do all of these things and Retroweaver
freaks out at runtime when put to the task.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5018 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-23 19:34:22 +00:00
Mike Thomas 4a25cc3f46 If we fail spectacularly in checking localness, let's print out what class is having trouble, since the java libs don't actually do that.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5008 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-21 18:43:30 +00:00
Michael Bayne f017673964 Disallow streaming of non-static inner classes to avoid the inevitable
freakoutery as we try to stream the instance's implicit reference to its
containing class.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5001 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-17 02:48:04 +00:00
Michael Bayne 63db77667a Some type safety, redundant cast removal, and other code hygiene.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4879 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-11-24 19:40:19 +00:00
Dave Hoover 3b701ef57d Tabs -> spaces
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4742 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-26 00:07:36 +00:00
Michael Bayne 96dd2deba3 For now don't use the generated field accessors unless we're running in a
sandbox. They should work exactly the same but there seem to be remaining
niggles, so we'll iron those out without impacting other projects.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4706 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-09 21:52:47 +00:00
Michael Bayne 84855f8fe0 Enhanced debuggery, reenabled new streaming bits because now they should really
really work.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4705 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-09 01:17:13 +00:00
Michael Bayne 66a4151c86 More problems!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4703 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-09 01:02:11 +00:00
Michael Bayne ef43b9d41a Re-revamp. I may re-re-revamp later to eliminate the reflection based streaming
altogether as that also solves the "Class.getDeclaredFields() is not required
to return fields in declaration order" problem which has been looming. However,
this should work for now.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4701 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-09 00:20:35 +00:00
Michael Bayne dcffc5f54d Disable this for now until the instrumented methods are working properly.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4699 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-07 20:47:53 +00:00
Michael Bayne 2afd7b2e29 Let's actually use them fancy little methods.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4695 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-07 19:19:33 +00:00