Commit Graph

3903 Commits

Author SHA1 Message Date
Michael Bayne ea501d7083 Automatically register the peer manager as a shutdowner rather than require
that it be shut down manually.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4794 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-31 20:01:52 +00:00
Michael Bayne 3c1c1d1921 We need to restore the remote oid as well before we send the unsubscribe req.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4791 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-27 21:47:50 +00:00
Mike Thomas 3327f4b7e8 Since the classname is coming from a properties file - rip off any trailing whitespace.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4790 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-27 20:57:07 +00:00
Michael Bayne 3c4c633b60 Created a ResultListenerList that maps the InvocationService.ResultListener
interface to a list of listeners. Also made RootDObjectManager a RunQueue so
that we can pass around references to the interface rather than requiring a
PresentsDObjectMgr.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4789 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-27 20:48:18 +00:00
Robert Zubeck 73b7e56563 Fixing a typo that prevented the creation of lock release handlers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4788 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-27 17:46:10 +00:00
Michael Bayne c2b44deb2d Once we've unproxied an object, we need to remap it into our Client's
distributed object space so that the unsubscribe from the remote server is
properly handled.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4787 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-27 02:38:14 +00:00
Michael Bayne 7a8bb7389a Screw backwards compatibility. We're all about the future.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4786 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-26 20:49:13 +00:00
Michael Bayne 81044c6512 Provide a PersistenceContext accepting constructor.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4785 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-26 20:41:09 +00:00
Par Winzell 29bfb576d3 Depot implementation of the Config persistence - hopefully schema compatible with the old version.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4783 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-26 20:04:27 +00:00
Par Winzell 363cf719ec Depot implementation of the Peer Node persistence - hopefully schema compatible with the old version.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4782 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-26 20:01:44 +00:00
Robert Zubeck 8275f739c0 Wrapper for peer network operations that need to acquire and release resource locks.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4780 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-23 17:09:08 +00:00
Michael Bayne 962326fcaf Revamped the way BodyObject.location is tracked. Now we use an object which can
be extended to contain the sceneId by Whirled (Vilya's Whirled, though also
Whirled Whirled by extension) so that we don't end up with problems where
BodyObject.location changes but BodyObject.sceneId remains stale. This won't
impact Yohoho because the Yohoho client is always in a scene, it uses a
separate mechanism to track games, whereas Whirled's natural usage is to move
between scenes and non-scenes.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4779 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-21 00:46:25 +00:00
Michael Bayne 9ef330b291 Added applyToNodes().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4778 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-18 22:46:49 +00:00
Michael Bayne 91ffdd810b Name our invokers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4777 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-18 22:03:17 +00:00
Michael Bayne b0ec20eff9 Widening.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4776 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-18 21:58:16 +00:00
Michael Bayne 6531aa581c Extract client info clearing into a method that can be easily extended.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4775 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-18 21:35:54 +00:00
Par Winzell 20719ee3f1 OK, so even this little change is going to have to wait for a few days until after the massive Depot restructure. The current version gets fields and columns a little confused from time to time.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4774 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-18 18:54:47 +00:00
Michael Bayne 038e5c5b85 Differentiating these invokers turns out not to be especially useful. Let's
avoid log spam and call them all the same thing.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4773 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-18 18:34:53 +00:00
Par Winzell 30a8179c5f Let's switch the peristent peer stuff over to a schema-comaptible Depot implementation. I think only Bang uses presents.peer and crowd.peer -- apart from Whirled -- and Bang already uses Depot.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4772 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-18 18:08:11 +00:00
Michael Bayne 7cf24684a7 Added locateClient().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4771 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-18 06:18:16 +00:00
Michael Bayne 6b67de9fca Looking something up in all the peer node objects is tricky, so let's
encapsulate it into a mechanism that takes care of the trickiness for us.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4770 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-17 22:03:12 +00:00
Michael Bayne f68aa1d6d3 Iterate over a snapshot of the values so that we avoid concurrent modification.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4769 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-17 21:06:09 +00:00
Par Winzell 6c65d51d76 I'm switching PeerRepository over to Depot and it returns Lists, not ArrayLists. I sure wish we could use the List and Map interfaces. It's not like we're suddenly going to surprise the caller by maliciously returning a LinkedList one day, or something.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4768 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-17 20:33:47 +00:00
Michael Bayne 321c3f17e5 Factored PeerNode out of PeerManager as that class was getting complicated and
dangerous with two big inner helper classes. Added the nodeName to NodeObject
and some other handy methods.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4767 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-17 01:59:27 +00:00
Michael Bayne c27356b4c3 Nix need for cast.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4766 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-16 22:13:59 +00:00
Dave Hoover 4667d37212 Christmas comes but once a year, but svn keyword substitution day comes
whenever the urge strikes!


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4765 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-14 00:26:52 +00:00
Michael Bayne 77e3f22d90 Added moveToServer() which does pretty much what it says. Boy I love writing
everything in two languages. Especially when one doesn't support inner classes
and has non-C syntax just to make life easier for parser writers.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4762 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-13 21:57:55 +00:00
Michael Bayne fd687a2774 Widening.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4761 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-13 20:41:04 +00:00
Michael Bayne 68b65bad41 Create a ConfirmAdapter that expects a result but ignores it. The old
ConfirmAdapter becomes a trivial implementation that simply expects a Void
result.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4759 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-13 00:15:04 +00:00
Michael Bayne 01692e1fff Properly type this ResultListener.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4758 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-12 21:42:52 +00:00
Michael Bayne 447ddb01f8 An adapter to convert from an InvocationService.ResultListener to a samskivert
ResultListener.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4757 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-12 20:36:07 +00:00
Michael Bayne 102dd71f8d Widening.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4756 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-12 20:30:51 +00:00
Dave Hoover e53200e627 Huh. I could've sworn I'd bemoaned in the past that I couldn't use
the fancy for loops in a case like this, but apparently it DOES work.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4754 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-11 21:58:40 +00:00
Dave Hoover 26a2a6a052 Widen some, and break out chat histories a bit so that the server can
manually squirt messages into a chat history without actually sending
the message to the client.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4753 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-11 21:34:41 +00:00
Michael Bayne 7896ee8c02 Allow the who details to be augmented.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4752 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-11 17:45:20 +00:00
Ray Greenwell 4a34d6d2fd Have the actionscript-generating stuff understand TypedArray.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4751 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-11 01:20:36 +00:00
Ray Greenwell 1867645802 Did away with hackery where some chat types were initializing their own client info.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4750 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-10 03:04:35 +00:00
Andrzej Kapolka 90bed27f12 Added StreamableRectangle class.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4747 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-03 22:03:02 +00:00
Charlie Groves 8022af7815 Implement ElementUpdateListener for ObjectRecord so calls to set*At on arrays on ConfigObjects update the config db as well as set*
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4745 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-29 20:40:56 +00:00
Michael Bayne b514ddbbf2 Always dispatch clientResolved() on the dobjmgr thread, even if the client is
already resolved and we're being called from a non-dobjmgr thread.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4744 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-28 21:42:41 +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 8aadcfe757 Some little tidying.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4741 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-19 01:05:05 +00:00
Michael Bayne a6a6af8e99 Fix some niggling oid translation problems.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4740 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-19 01:03:48 +00:00
Michael Bayne 20e70a9735 Log the registration and clearing of proxied object as we're seeing some
strangeness in production on Bang.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4738 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-15 16:44:09 +00:00
Michael Bayne d1313d2296 Let the server delay shutting certain things down until it knows that the
invoker and dobj threads are well and truly finished.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4737 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-15 00:03:31 +00:00
Dave Hoover 1bfa35515d Actually do keyword substitution on those freshly headered files.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4736 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-14 18:19:38 +00:00
Michael Bayne 68a60d83f4 The Flash client seems to be sending a message just as it's (or possibly even
after it's) logging off which comes in after we've cleared out the client
object and causes annoyance. Now we drop the message and we'll log a notice for
the time being.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4735 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-14 18:15:02 +00:00
Michael Bayne 0c448bc92d Update our LAST_UPDATED column every minute while we're alive so that if we
lose connection with a peer for any reason, it will notice that we're still
alive and reconnect.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4732 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-13 23:36:25 +00:00
Michael Bayne 2fa6146d93 Have CompoundEvent handle propagating setTargetOid() to its internal events and
clean things up for the callers.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4731 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-13 23:15:20 +00:00
Michael Bayne 2fead8208c Let's not confuse terminology between one server proxying for another server
and the ProxySubscriber mechanism by which the server proxies for the client.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4730 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-13 22:41:41 +00:00