Commit Graph

6370 Commits

Author SHA1 Message Date
Tom Conkling 04df68ea68 Add an IntervalFactory interface, which just declares newInterval(), and have RootDObjectManager extend it.
Leaving RootDObjectManager's declaration of newInterval() alone, because it contains docs that are specific to its implementation.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6474 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-02-02 01:27:38 +00:00
Michael Bayne 084f5ba944 Fixed typo.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6473 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-02-01 19:37:59 +00:00
Charlie Groves c19b395a43 Name normalization has been space sensitive for nearly 7 years now. Stop saying otherwise.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6472 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-31 07:08:12 +00:00
Par Winzell 8b3bb03751 Import fix.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6471 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-30 05:43:03 +00:00
Charlie Groves 2c17d66f02 Add the messageReceived and destroyed signals to DObject rather than generating them. If they were generated, subclassing would fail on field conflicts.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6470 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-28 19:33:46 +00:00
Charlie Groves a381c8544e We only need ooo-external for these now
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6469 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-28 19:32:30 +00:00
Michael Bayne 45879635a3 Let's preserve binary compatibility with extant DObjects for a little while.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6468 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-27 20:12:40 +00:00
Andrzej Kapolka 871cc2eb63 Avoid a ClassCastException when we transfer a marshaller from client to server
(as we sometimes do when we transfer a player between peers in Project X).
Technically we probably shouldn't be streaming the marshallers in that case,
but doing this (and clearing the marshaller on the receiving end) is simpler
than clearing, streaming, and restoring; or settings things up so that the
marshaller is specifically excluded from streaming in transfers.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6467 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-24 23:41:29 +00:00
Andrzej Kapolka fb822af0e9 It's probably worth including the stack trace for this warning, since it
can come from various different places.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6466 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-24 22:19:40 +00:00
Andrzej Kapolka 6d36a54999 I don't think this will break anything: provide a means for names to override
the default comparison methods in a symmetric way (so that it doesn't matter
which of the two objects' equals/compareTo methods was called).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6465 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-20 05:06:54 +00:00
Charlie Groves 92c1225d0e Deploy a sources jar along with the code jar for IDE-happiness
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6464 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-20 00:40:12 +00:00
Mike Thomas 1463fe0fce Step 2 in getting the *-poms versions to match pom versions.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6434 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-18 17:55:31 +00:00
Mike Thomas 4bbc8adaf1 And move the tools-pom in line too.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6433 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-18 17:47:13 +00:00
Mike Thomas 193506a7c7 Step 1 in bringing gwt-pom up to pom's version.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6432 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-18 17:41:39 +00:00
Mike Thomas 89b7a4df80 Step 1 in bringing as-pom up to pom's version.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6431 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-18 17:37:02 +00:00
Mike Thomas 4c44d7063b Increment version to 1.5-SNAPSHOT
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6430 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-14 19:43:57 +00:00
Mike Thomas 266cb13db1 Set this as narya 1.4
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6429 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-14 19:31:05 +00:00
Charlie Groves 52afa1d654 Use m2eclipse for Eclipse configuration
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6428 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-11 23:46:41 +00:00
Charlie Groves 50b19cdee0 Unnecessary import
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6427 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-11 18:53:59 +00:00
Tom Conkling 5c3e0ed825 Make OidList Iterable
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6426 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-10 22:47:09 +00:00
Par Winzell 0e8f5e4da4 If we generate arg1, ... parameters but arg0, ... arguments, things go badly.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6425 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-10 20:27:30 +00:00
Par Winzell 5b2ee423bf This is why typechecking is a good thing.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6424 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-07 20:58:42 +00:00
Par Winzell d66ed6f7fe This method is in fact defined on the listener.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6423 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-07 20:58:17 +00:00
Ray Greenwell aff817a70f Charlie notes that if the old code worked, we can surely eliminate the
setManager call.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6422 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-06 23:51:56 +00:00
Ray Greenwell bc5303b0fa This must not have been a bug, but it sure looks like one.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6421 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-06 23:42:35 +00:00
Charlie Groves 8f8a50c9e8 Apply additions and removals to OidList fields on DObjects immediately on the server to make it
match DSets and setting attributes.  With the old behvaior, if a client subscribed to a DObject and
modified an OidList on it in a single pass, it could miss the modification.  The DObject is
serialized immediately when the server gets the subscription request, but events aren't sent for
that subscription till it's processed the next time the omgr queue comes round.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6420 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-06 09:15:47 +00:00
Charlie Groves b4af8a0384 Include the traceback when we fail to extract a name from source
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6419 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-06 09:09:01 +00:00
Charlie Groves edf6dccdf7 Generate OidList signals for actionscript
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6418 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-06 09:08:24 +00:00
Andrzej Kapolka 2572112560 Need to splice the arguments, too.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6417 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-06 03:30:51 +00:00
Andrzej Kapolka 5a66c46308 Yeah, thanks for that.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6416 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-06 03:25:09 +00:00
Tom Conkling 0dae31b2c9 ActionScript DObjects dispatch a signal when they receive a MessageEvent
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6415 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-05 23:49:45 +00:00
Andrzej Kapolka f9ce9f6939 On second thought, let's configure the standalone client reference via an
optional injection.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6414 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-05 02:03:25 +00:00
Andrzej Kapolka 0c28d31357 Initializing the invocation director reference on deserialization doesn't work
well in standalone mode.  We need a way to install a director on registration.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6413 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-05 01:32:13 +00:00
Tom Conkling 68aba0e92a Add a mapping from java.lang.Cloneable -> com.threerings.util.Cloneable
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6412 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-05 00:21:16 +00:00
Andrzej Kapolka 49c6511fd1 Because getInterfaces only returns the interfaces implemented by the class
(not by its superclasses), we need to rise through its superclasses as well
in order to find the provider interface.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6411 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-04 22:46:22 +00:00
Mike Thomas 6cba470736 These override their superclass, so annotate as such.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6410 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-04 19:35:43 +00:00
Ray Greenwell bfd1f79107 Bugfix: we need to examine methods from superclasses as well.
ProjectXZoneRegistry extends a class that is a ZoneProvider...


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6409 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-03 21:17:55 +00:00
Andrzej Kapolka 55d1df93a1 Avoid ArrayIndexOutOfBoundsException.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6408 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-01 21:52:23 +00:00
Dave Hoover 02899d1083 Auld Lang Syne
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6407 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-01 05:02:21 +00:00
Michael Bayne f43c511436 No longer need to generate dispatchers. I'll leave the code here for the
time being.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6406 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-01 01:33:07 +00:00
Michael Bayne 97be2d9fc7 These guys are no longer needed.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6405 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-01 01:32:34 +00:00
Michael Bayne f8c7241f9f Switched providers to new dynamic dispatching.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6404 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-01 01:31:20 +00:00
Michael Bayne 5a67aa906b A while ago, I put on my todo list: "look into changing InvocationService to
use JVM generated proxies, nix marshaller/dispatcher."

The idea was to use Proxy.newProxyInstance to magically create (at runtime)
proxies for FooService interfaces instead of generating a bunch of boilerplate
code. I figured something similar could be done for FooDispatcher on the server
side.

However, we also generate C++ and ActionScript marshallers, and those aren't
ever going away (AS might support some sort of dynamic magic to do what we
need, but C++ sure don't). So I decided to leave the marshaller side of things
as is.

I did revamp the dispatcher side of things to eliminate the need for
FooDispatcher on the server. This turned out not to even require the use of
something so magical as java.lang.reflect.Proxy, because in this case we're
just reading in method ids over the network (and arguments), and calling the
appropriate method. Such mundane activities are easily accomplished with the
regular reflection API.

The existing dispatcher stuff still works as well, of course, and though the
conversion from the old style to the new style is pretty simple:

< invmgr.registerDispatcher(new FooDispatcher(fooprov))
> invmgr.registerProvider(fooprov, FooMarshaller.class)

there's no burning need to convert things over. Fortunately, there's no
(compatibility) impact on client projects to converting Narya and Vilya, so
I'll be doing that shortly. There will be a miniscule performance impact, but I
think the cost of a single reflective method call, given that all of its
arguments were read and unmarshalled from the network, will be a good distance
south of immaterial.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6403 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-01 01:29:26 +00:00
Michael Bayne 1db66920d2 Deprecated DSet.toArray. Pretending like arrays are parameterized collections
is a bad idea and will lead to pain. Nixed the one place where toArray was used
(which was a serous pig's breakfast itself).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6402 542714f4-19e9-0310-aa3c-eee0fc999fb1
2011-01-01 01:15:33 +00:00
Michael Bayne 328ff30506 Marshaller no longer needs Client import.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6401 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-31 22:42:45 +00:00
Michael Bayne 127e388349 Unused import nixage.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6400 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-31 22:36:46 +00:00
Michael Bayne 90c6429070 Missed a spot.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6399 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-31 22:32:15 +00:00
Michael Bayne e80409a7f4 Updated to use new Client-reference-free style.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6398 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-31 22:28:21 +00:00
Michael Bayne b60112ae93 Some fiddling to keep the CPP bits in sync as well.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6397 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-31 22:27:51 +00:00
Michael Bayne 5d2852544b Generate our test service(s) as well.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6396 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-31 22:17:00 +00:00