Commit Graph

3861 Commits

Author SHA1 Message Date
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
Michael Bayne c365afa2fc Rejiggered the way things are handled when using a Client to proxy events from
another server. The PeerManager needs both to rewrite the oid of the events
before dispatching them and to assign an eventId to them so that they will not
be filtered by PresentsClient when deciding whether or not to send them along
to its client. Also fixed compound event dispatch in the process. Now proxy
subscribers will be notified once of a compound event rather than of each
individual internal event.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4729 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-13 22:37:53 +00:00
Michael Bayne 097a53e534 Don't try to register HUP on Windows because it fails.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4728 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-13 18:31:15 +00:00
Michael Bayne 6db6eef7e1 Close our bound socket when the connection manager is shutdown. New-styled
logging.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4727 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-13 17:48:42 +00:00
Ray Greenwell 8b85e8a940 Allow de-capitalizing to be turned off by subclasses.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4720 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-25 18:16:32 +00:00
Michael Bayne 8206753188 A we bit of (not so) new logging world order conversion.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4718 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-23 18:40:15 +00:00
Michael Bayne 17e36673d0 Beans, frank!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4717 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-18 23:23:13 +00:00
Michael Bayne 9bcca099ac Implemented a Ray-proposed solution where we keep track of events that were
(pre-applied and) posted before we received our object but processed (and hence
dispatched to us) after we received our object.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4715 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-18 03:37:14 +00:00
Michael Bayne db3fe80e9d No need for that variable.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4714 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-18 02:47:25 +00:00
Michael Bayne 0c90344e6b Widened, added a workaround for a "doesn't actually break anything and is too
complex to properly fix right now" bug.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4713 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-18 02:46:47 +00:00
Michael Bayne c2fb8f99c7 Instead of magically creating the ManagerCaller and using the DObjectManager
provided to the object when it was created, have the LocationDirector
initialize the manager caller when it receives the PlaceObject and have it use
its client distributed object manager which tags events with the proper
clientOid. This still prevents us from running multiple clients in the same VM,
so this will probably all have to change again but this works for now.

Also some widening.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4712 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-15 00:27:07 +00:00
Michael Bayne d9f76c98fd Some of the widening.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4711 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-15 00:26:27 +00:00
Michael Bayne 91f8ac6fa6 Turns out Sun has secret support for handling signals, so we'll use that
instead of our native library. I've left the native library support in in case
the Sun stuff is not available, but that's so extremely unlikely in a server
environment (IBM recreates Sun's signal handling in their VM because it's so
dang useful) that I should probably just nix it altogether and simplify things.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4710 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-14 21:36:58 +00:00
Charlie Groves d9eaa65c23 add @Override to getReceiverCode and dispatchNotification so running genreceiver doesn't step all over Dave's auto @Override adder
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4708 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-11 18:54:25 +00:00
Michael Bayne 96dd2deba3 For now don't use the generated field accessors unless we're running in a
sandbox. They should work exactly the same but there seem to be remaining
niggles, so we'll iron those out without impacting other projects.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4706 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-09 21:52:47 +00:00
Michael Bayne 84855f8fe0 Enhanced debuggery, reenabled new streaming bits because now they should really
really work.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4705 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-09 01:17:13 +00:00
Michael Bayne cf949410ce We don't need to read and write wrap straight up calls to readObject() and
writeObject() as that handles nulls for us (and of course because that's how
it's done when streaming using reflection).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4704 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-09 01:15:28 +00:00
Michael Bayne 66a4151c86 More problems!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4703 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-09 01:02:11 +00:00
Michael Bayne ef43b9d41a Re-revamp. I may re-re-revamp later to eliminate the reflection based streaming
altogether as that also solves the "Class.getDeclaredFields() is not required
to return fields in declaration order" problem which has been looming. However,
this should work for now.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4701 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-09 00:20:35 +00:00
Michael Bayne dcffc5f54d Disable this for now until the instrumented methods are working properly.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4699 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-07 20:47:53 +00:00
Michael Bayne 9e0babe2e1 We need the fully qualified class name.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4697 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-07 19:50:05 +00:00
Michael Bayne 2afd7b2e29 Let's actually use them fancy little methods.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4695 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-07 19:19:33 +00:00
Michael Bayne 47273749c8 New plan! We now post-process our class files and add individual public reader
and writer methods for private and protected fields. This will allow us to
preserve the current read and write ordering and in the future when we "fix"
read and write ordering, we won't be fucked by a bunch of generated methods
that force the ordering. (Someone is using Presents on the CLR which turns out
to take advantage of the loose specification of Class.getDeclaredFields() and
not return them in declaration order, yay!).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4692 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-07 18:59:42 +00:00
Michael Bayne ae1e7dc4a8 Scratch that. The plot is thicker. I'll have to take the pain to support mixed
readObject()/no-readObject() havers otherwise everyone everywhere will have to
generate streamer methods which is way too big a PITA. Grumble.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4690 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-04 22:25:41 +00:00
Michael Bayne a60a71552a Generated readObject()/writeObject(), widened some things along the way.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4689 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-04 22:17:41 +00:00
Michael Bayne ea8bf25c0a Some fiddling to handle classes that extend SimpleStreamableObject.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4688 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-04 22:17:24 +00:00
Michael Bayne 1ec22804da Oops, we need to do things a little differently.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4687 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-04 22:08:04 +00:00
Michael Bayne 410d85d49d A task to generate readObject() and writeObject() for Streamable classes (for
use in non-sandboxed environments). Unfortunately we have to do this for all
Streamable classes, not just the ones that have protected/private members
because we need to be able to call super.readObject() and have that exist even
if our superclass contains only public members.

Doing magic streaming with combinations of classes that do and don't have
readObject() would start to get extremely complicated, particularly if the base
class had readObject() an intermediate class had none, then a later class had
one again. Madness. Doing things with compiled methods will be faster anyway...


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4686 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-04 22:04:50 +00:00
Michael Bayne 77fef0c22e Factored management of "generated fields" and "generated methods" blocks into a
utility class.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4685 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-04 22:02:31 +00:00
Michael Bayne 3036bcb70d Widening.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4684 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-04 22:02:03 +00:00
Michael Bayne 63c5449b00 Widening.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4683 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-04 22:01:48 +00:00
Michael Bayne 64da3b6229 Widening.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4682 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-04 22:01:32 +00:00
Michael Bayne 4d455eb6e6 _usermap is referenced by both the conmgr and dobjmgr threads, so access to it
must be synchronized.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4681 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-04 02:25:03 +00:00
Michael Bayne 69485a88ee Widened, fixed documentation and nixed unneeded runnable posting for
clientSessionDidEnd() which is called on the dobjmgr thread directly.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4680 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-04 02:11:33 +00:00
Andrzej Kapolka 9694f12dc5 Added a StreamableTuple class.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4675 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-04-26 01:12:37 +00:00
Andrzej Kapolka d3d841e3e5 Some fiddling to handle cases where peers become connected after having
been disconnected (in which case there may be conflicts in lock 
ownership) or are connected asymmetrically (A is subscribed to B, B is 
not yet subscribed to A).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4674 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-04-24 19:47:12 +00:00
Michael Bayne f8ef4aeebc Instead of doing two instanceofs on every compare, just wrap bare keys in a
fake Entry implementation. This also avoids breakage if a DSet entry's key
itself implements DSet.Entry (which just happened for the first time in Narya
history).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4673 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-04-23 18:59:29 +00:00
Michael Bayne beace3839b Nth time's the charm.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4672 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-04-18 16:40:57 +00:00
Michael Bayne 184b621ee9 Let's fix toWriteObject() as well since we are aiming for correctness.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4671 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-04-18 16:39:19 +00:00
Michael Bayne 86aae8809a ByteArray must be read with readField().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4670 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-04-18 16:35:28 +00:00
Michael Bayne 8f59462972 Handle // @Override // blah comments more robustly.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4669 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-04-18 16:35:05 +00:00
Michael Bayne ad8acdbd1d Comment fiddling.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4668 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-04-18 02:47:16 +00:00
Michael Bayne 1060f0d160 More jockeying:
- handle // @Override // blah style comments
- deal with fields that are assigned to anonymous inner classes (actually
anything with braces, which would also include array literals).


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4667 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-04-18 02:38:16 +00:00