Commit Graph

1276 Commits

Author SHA1 Message Date
Michael Bayne 400a42930b Return the correct value if we're asked for this node's public hostname or
port.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4829 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-09-20 01:49:56 +00:00
Michael Bayne c0ead54dbe Dispatch our client tick on the RunQueue so that it doesn't end up running on a
separate thread and racing against other client actions. Also nixed a pointless
type check and cast.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4828 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-09-19 03:35:17 +00:00
Michael Bayne 93c89fe0a7 Be sure that we always dispatch subscription responses (success or failure) on
the dobjmgr thread to relieve the caller of the burden of knowing what thread
they are on.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4826 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-09-14 18:17:50 +00:00
Mike Thomas e4cb816fba This is being called on other-than-the-DObject thread, and we really don't want to be posting messages directly outside that thread.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4825 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-09-14 17:58:54 +00:00
Michael Bayne 810969f6f9 Pass a message along with a FailureResponse.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4819 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-08-22 01:15:39 +00:00
Michael Bayne 9a150ebcda Some widening.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4818 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-08-22 01:12:02 +00:00
Michael Bayne 52be62ddbf Added a helper method for calling an invocation service method on one or more
remote nodes.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4817 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-08-17 21:02:44 +00:00
Michael Bayne f90a39207f Created a peer-aware DatabaseConfigRegistry that broadcasts changed runtime
configuration information to other peers so that they all remain in sync.

Also nixed constructor arguments to the peer manager so that it can be created
at server construct time like all other managers and be available for the
twisty maze of inter-registration that takes place during the manager init
process.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4814 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-08-16 20:53:17 +00:00
Par Winzell 1eda45d8c8 Document index use.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4808 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-08-07 18:11:30 +00:00
Michael Bayne a6be47fa83 Adjust the shutdown process to ensure that we can get messages generated during
the shutdown sequence out to our clients where desired.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4807 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-08-06 18:38:27 +00:00
Michael Bayne 0c5a4f6683 Useful error reporting.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4806 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-08-04 02:16:24 +00:00
Michael Bayne 87bad12e19 Widening.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4804 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-08-02 21:52:11 +00:00
Michael Bayne 5a490043c4 Added support for switching Java fields to a different type in their
ActionScript counterparts.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4801 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-08-01 17:40:35 +00:00
Michael Bayne 871cc64819 Do instanceof Streamable sensibly instead of via the cracksmoking way I was
doing it. Don't generate ActionScript methods for the instrumented field reader
and writer methods.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4798 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-08-01 17:23:13 +00:00
Michael Bayne 7fc92f99b1 Be sure not to leave our lock dangling if the wrapped operation fails with an
exception.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4797 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-31 23:33:13 +00:00
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
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 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 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 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
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
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
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