Commit Graph

12 Commits

Author SHA1 Message Date
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
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
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
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 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
Dave Hoover faa7413d3c Nix unused import.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6393 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-22 19:47:36 +00:00
Michael Bayne d52be825ec Abstract the manner by which DObject reads and writes its fields. This allows
us to create a Scala trait that handles reading and writing Scala "fields"
which are not public fields but are rather private fields with public getters
and setters. This also enables the creation of bridges for other JVM-hosted
non-Java languages.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6391 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-22 01:30:55 +00:00
Ray Greenwell 5476241fa4 PECS.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6362 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-10 02:44:18 +00:00
Ray Greenwell af57cfdb35 Go back to using StreamableArrayList here, for now.
Events originating in Actionscript need to use that class because
we have no generic List class in actionscript. For things that
originate on the server this isn't a problem:
java array -> Array, and java List -> Array 
But for things originating on the actionscript client, any array
will become a java array unless we use StreamableArrayList.

So: maybe it's time to add List to the aspirin library. :|


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6354 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-09 19:49:54 +00:00
Ray Greenwell 0b77c89fa7 Improvements to Collection streaming support.
Any Collection can now be streamed. You can send Collections.emptyMap()
back to a client, for example.
(It will unstream as a HashMap on the other side.)

This actually streams everything to the exact same bytes as before.

Using specific classes is discouraged: ArrayList, StreamableArrayList...
If a Streamer is created for a class that has a field of that type,
a warning will be generated, urging you to change the field definition
to the interface.

Also: that setup is now deferred until needed, because in clyde/projectx
there are a number of Streamable classes that have fields of specific
classes, like ArrayIntSet for example, but don't use standard streaming
to transmit them. In that case it's totally cool for them to have a more
specific type.

Since that setup is potentially deferred, one change may be observed
for a class that uses custom readObject() and writeObject() methods
but still calls defaultReadObject(). The field marshallers will now
be configured a little later in the game than before.

But, we're actually saving a bit of memory by not setting up those
marshallers for streamable classes that never use them. Woo.

Please let me know if this causes any space shuttle explosions or
spikes the punch at your quinceanera.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6348 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-09 02:39:01 +00:00
Ray Greenwell a9416fd235 Created a new abstract parent class for Entry*Event: EntryEvent.
The big win is that getKey() now exists on each of those event types.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6278 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-17 00:00:49 +00:00
Michael Bayne 9d2ca42eac Convert Narya (most of the way) over to a Maven Ant task based build. The
ActionScript bits remain belligerent, but the Java stuff is mostly shipshape.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6222 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-22 21:12:29 +00:00