Commit Graph

140 Commits

Author SHA1 Message Date
Michael Bayne d618d3c771 Eclipse suggested cleanup.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2971 542714f4-19e9-0310-aa3c-eee0fc999fb1
2004-02-25 14:50:28 +00:00
Michael Bayne 69a973efb2 Make our object manager available to nice askers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2903 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-12-11 18:36:32 +00:00
Michael Bayne ed5a97243e As it turns out to be nearly impossible to avoid occasionally trying to
post events to an object that is already destroyed, we'll allow
transactions to be started on non-active objects and we'll just log a
warning when the transaction is finally committed like we do for all other
events on non-active objects.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2835 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-10-25 22:08:02 +00:00
Michael Bayne 5272911863 Don't really need the stack trace.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2833 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-10-25 00:04:00 +00:00
Michael Bayne 44f2a352cc Removed vestigal business.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2811 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-09-24 21:39:42 +00:00
Michael Bayne 320f53913b We only need to introspect and sort our fields array once per class, not
every time we create a distributed object.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2810 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-09-24 20:33:06 +00:00
Michael Bayne b19fcb219b getClass().getField() creates a new Field instance every time and possibly
creates an Object[] as well. Now we cache the Field instances and look
them up ourselves which will likely be much more efficient at only a small
additional memory cost.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2805 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-09-23 17:16:46 +00:00
Michael Bayne 76af5d2353 Prevent propagation of lock release events.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2720 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-22 22:54:14 +00:00
Michael Bayne f7d55b9814 More debugging for DSet duplicate business.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2716 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-20 17:02:26 +00:00
Michael Bayne 10ceff36d2 Log up a warning in these trying circumstances so that future bugs don't
remain obscure.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2708 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-13 02:59:27 +00:00
Michael Bayne d37c56b077 Added more substantial funny business checks.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2701 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-11 01:49:52 +00:00
Ray Greenwell cfe4b49c6e Key is Comparable.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2699 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-11 01:21:43 +00:00
Ray Greenwell 71cd8b421a - Use the newer binary search method of locating entries in get().
- Require a Comparable key in get() and containsKey().


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2698 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-07-11 01:21:23 +00:00
Michael Bayne d76d4e89ff Make it possible to have a distributed object destroyed when its last
subscriber is removed.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2602 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-22 17:23:53 +00:00
Ray Greenwell c7908862ff SetAdapter, because SetListener is a pain sometimes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2592 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-20 18:41:46 +00:00
Ray Greenwell 098cb693d1 Fixed.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2516 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-01 02:11:22 +00:00
Ray Greenwell 0e8b1dd058 Removed crack pipe.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2515 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-05-01 02:05:51 +00:00
Ray Greenwell fc6d71cae1 Actually initialize the oldValue to UNSET_OLD_VALUE.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2512 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-30 22:38:49 +00:00
Michael Bayne 43edd884c0 Added the necessary machinations to make getOldValue() and getOldEntry()
work on the server.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2510 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-30 22:32:04 +00:00
Michael Bayne 36624d96ac Finally got around to making compound events actually stick together until
they arrive at the client. Mmm... network efficiency++.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2396 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-10 17:48:42 +00:00
Michael Bayne 1b29c23f6e Check and fail if a DSet is modified while we are iterating over it.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2380 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-04-05 20:30:44 +00:00
Michael Bayne 0a5714b661 Safety first!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@2354 542714f4-19e9-0310-aa3c-eee0fc999fb1
2003-03-30 19:38:56 +00:00
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