Michael Bayne
ab632ffe83
Refactored communicator so that we can not do some things in the peer client
...
(which runs on the server) that we do in a normal client (which runs on a
user's computer). Eventually we'll make a custom Communicator for use on the
server that integrates with the ConnectionManager's polled socket I/O which
will be easier now that this bit of factoring has been done.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4835 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-10-01 23:44:31 +00:00
Michael Bayne
120d641dea
Comment rearranging.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4834 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-10-01 21:26:27 +00:00
Mark Johnson
1ec7f25ea6
Refreshing the peers seems to often take just over 500ms, so increase the time we wait before logging.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4833 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-09-28 23:26:42 +00:00
Mike Thomas
b3678b086d
The client manager was busy registering client objects on the ConnectionManager thread rather than the dobj thread. Give it a nudge in the right direction.
...
Also, added logging to the PresentsDObjectMgr to check for this type of thing and dump stack if anyone is trying to register objects anywhere but the DObj thread (assuming we're sufficiently far started up that there is one).
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4832 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-09-28 18:35:20 +00:00
Michael Bayne
6904c467bf
Identify ourselves if we turn out to be a long dobj unit.
...
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4830 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-09-24 17:23:02 +00:00
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