Commit Graph

118 Commits

Author SHA1 Message Date
Ray Greenwell a8ca78bde2 toArray now returns Object[] instead of Object
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2327 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-03-26 00:16:03 +00:00
Michael Bayne b975698d02 No need for nestable exception. It's standard issue now.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2316 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-03-23 01:54:20 +00:00
Michael Bayne ef525ebad9 Modified DSet support such that additions, updates and removals are
applied immediately on the authoritative copy of the object (the one on
the server). We already do this for all other object modifications (except
OidList which is kind of special anyway), but we should be wary of
potential wickosity.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2302 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-03-10 18:29:54 +00:00
Michael Bayne 97c02d2a00 Don't make the internal field a Comparable as the serialization stuff
chokes on that.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2291 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-02-26 21:41:47 +00:00
Michael Bayne 56b0012782 Use Comparable for the to be removed distributed set key.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2290 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-02-26 17:54:56 +00:00
Michael Bayne 7b97f872c8 Allow initialization from an array of entries.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2285 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-02-18 19:50:34 +00:00
Michael Bayne 51a883fc34 Factored toString() into two methods for easier customization by derived
classes.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2284 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-02-18 18:59:08 +00:00
Michael Bayne 8743be2131 Enhanced which().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2115 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-01-13 18:38:05 +00:00
Michael Bayne 48823b10f9 More revamped serialization cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2079 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-12-20 23:41:27 +00:00
Michael Bayne ee9049fe3e Factored out code for events that all shared a name; removed
hand-serialization code for fields which are now handled automatically.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2078 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-12-20 23:29:04 +00:00
Michael Bayne 90b76f1417 Added a toArray() method.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2065 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-12-13 02:07:27 +00:00
Michael Bayne 18c7b2cf6f Complain loudly about listeners or subscribers that try to add themselves
more than once. Use testAndAddEqual() where appropriate now that
testAndAdd() doesn't use object equality.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2056 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-12-12 00:30:47 +00:00
Michael Bayne 14024fbd23 Provide access to the removed entry when one is removed.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1936 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-12 20:37:52 +00:00
Michael Bayne 6b2433600e Be a bit more freaked out if someone tries to post an event on a stale
distributed object.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1930 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-11-10 01:43:28 +00:00
Michael Bayne 14a313486b Documentation repairs.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1842 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-27 18:49:51 +00:00
Michael Bayne 76ba2840c4 Provide access to the values that existed previous to the application of
events that change values.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1837 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-27 01:33:43 +00:00
Ray Greenwell be2bc4205b Anally removed Comparator.equals() implementations that overrode
Object.equals() with equivalent functionality.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1799 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-15 21:01:39 +00:00
Michael Bayne d34be8e838 Enhanced error reporting.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1782 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-06 20:25:05 +00:00
Michael Bayne 893e3d3aa0 Whoops, clone should obtain the uninitialized cloned object via
super.clone() so that it is of the appropriate derived class. I must have
picked a bad week to stop sniffing glue.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1781 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-06 20:24:53 +00:00
Michael Bayne 9282f15fc3 Sanity checking.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1773 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-04 01:32:15 +00:00
Michael Bayne 077d0ee13a Refuse to start a transaction on a non-active DObject.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1772 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-04 01:31:59 +00:00
Michael Bayne 99dbe3dc76 Added support for nested DObject transactions; clarified documentation.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1768 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-10-02 19:29:23 +00:00
Michael Bayne 42b22f1acc Experimental alternate toString() formatting style for DObject. Hopefully
it will be well liked.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1752 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-25 03:02:00 +00:00
Michael Bayne 0df0ec348d Gracefully report an error rather than NPEing if an event is posted to an
object that no longer has an omgr reference (has been destroyed).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1716 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-19 16:38:03 +00:00
Michael Bayne bb0bd7cc52 Added convenience method for posting a message event to a distributed
object.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1681 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-09-13 06:41:34 +00:00
Michael Bayne 165843ac96 Fixed calculation error.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1643 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-08-14 23:52:15 +00:00
Michael Bayne e54a4d41f4 The great invocation services rethink of 2002! Rearchitected the remote
method invocation services and converted everything to the new style.
Could this be my biggest checkin ever?


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1642 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-08-14 19:08:01 +00:00
Michael Bayne c3191b9170 Brought code into line with the new streaming world order.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1606 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-23 05:52:49 +00:00
Michael Bayne a9ef042dae Debug logging changes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1589 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-18 00:42:30 +00:00
Michael Bayne e9ceaa6ae9 Marked transient fields accordingly so that the Marshaller doesn't try to
send them over the wire.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1588 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-07-18 00:41:59 +00:00
Michael Bayne eb04dd7ea4 Added a method which can be used to determine if an object is currently
part of a transaction.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1416 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-05-31 20:47:55 +00:00
Michael Bayne 76843dab59 Report the contents of the set when we try to update an element that's not
in it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1273 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-18 00:31:26 +00:00
Michael Bayne 5379787dc5 Made postEvent() public so that external entities can add events (like
message events) to a transaction already started on a particular object.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1233 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-12 00:00:05 +00:00
Michael Bayne 4afaa186eb Track some repackaging in the Jakarta libs.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1168 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-04-01 16:49:26 +00:00
Michael Bayne 8abacf6b0c Added zero argument constructor (for unserialization); fixed a bug in
serialization code.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1146 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-21 01:58:10 +00:00
Michael Bayne 6b564ae503 sourceOid needs to default to -1.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1138 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-20 19:06:55 +00:00
Michael Bayne 81e8158e90 Compound events need to propagate their source oid to their constituent
events after setting their own source oid.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1137 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-20 03:29:21 +00:00
Michael Bayne aa195bed83 Added a mechanism for pluggable event access control.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1135 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-20 03:19:51 +00:00
Michael Bayne 59aeb61fe3 Added ability to update individual elements of an array field. The objects
have helper functions named set<field>At() for such a purpose.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1134 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-19 01:10:03 +00:00
Michael Bayne 7ccb9594b9 Changed DSet.Element to DSet.Entry in preparation for the addition of
array element update support. (Arrays have elements, sets have entries.)


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1133 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-03-18 23:21:26 +00:00
Michael Bayne 424f2da631 Only post a compound event if it contains other events when a transaction
is committed.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@1064 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-21 00:59:29 +00:00
Michael Bayne 1bca84927f Added support for DObject transactions which are collections of events
that are dispatched over the network at once and processed all at once.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@979 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-09 07:50:37 +00:00
Michael Bayne 1e36cb65d8 Need to prefix heterogenous set elements with their classname.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@964 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-08 05:14:22 +00:00
Michael Bayne b4d5f7da24 Have to cope with heterogenous sets in toString().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@963 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-08 04:44:32 +00:00
Michael Bayne 670f3a71c3 Fixed javadoc.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@947 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-06 22:47:28 +00:00
Michael Bayne 84891c9b91 Whoops, wasn't appending field data to our buffer.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@939 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-05 22:27:26 +00:00
Michael Bayne a83e512270 Modified DObject.toString() to use fieldsToString() so that all of its
derived classes need not do their own toString()ing.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@928 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-04 01:47:20 +00:00
Michael Bayne 5bb4e3435b Provided a mechanism by which a DSet can be populated at construct time.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@927 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-04 01:34:59 +00:00
Michael Bayne c6f72ce556 Log message edit.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@926 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-04 00:51:15 +00:00
Michael Bayne 25717d3cce Modified distributed sets such that they can be heterogenous or
homogenous, and in the latter case, they simply conserve network bandwidth
by not transmitting the classname of serialized elements when transmitting
themselves or element added/updated events.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@925 542714f4-19e9-0310-aa3c-eee0fc999fb1
2002-02-04 00:50:12 +00:00