Commit Graph

4690 Commits

Author SHA1 Message Date
Ray Greenwell ecefdcac85 ObjectMarshaller, formerly EZObjectMarshaller in vilya + some value validation code
that was actually in GameControlBackend.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4748 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-06 22:26:00 +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
Ray Greenwell b1773889d2 Implemented StringUtil.fieldsToString() using flash's introspection.
Use it in SimpleStreamableObject's toString(), with some new formatting.
Unfortunately, the order of public variables seems random.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4746 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-07-02 20:33:59 +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
Ray Greenwell 87c5bbcd59 Added getPath().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4743 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-26 23:07:42 +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
Ray Greenwell 860c682585 Implemented transactions in actionscript.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4739 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-18 19:27:13 +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 b7cfe7cf81 Headerification.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4734 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-14 17:40:52 +00:00
Ray Greenwell d59811b8cc Added bytesToString() and stringToBytes().
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4733 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-14 01:07:04 +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 e7379cd41a Fixed a bug: the 'old value' of some events were not getting set
because the oldValue variable didn't contain UNSET_OLD_VALUE, but
rather null because it was set that way in the constructor.
Additionally, some of the constructors would only set the old value
if it wasn't null, which is also wrong because an old value can
easily be null.

We could probably just rip apart most of this code, because for
the most part events are not constructed on the client anyway. We might be
able to get away with just making all the event constructors 0 arg, and
then we don't have to worry about UNSET_OLD_VALUE, we just always apply.
But let's try to be more similar to the Java code, and so now I emulate
multiple constructors by checking how many arguments were provided and
not configuring event-specific data if it wasn't actually provided
to the constructor.

Note: none of this would be necessary if we could just declare a constructor:

public function AttributeChangedEvent (
    targetOid :int = 0, name :String = null, value :Object = null,
    oldValue :Object = UNSET_OLD_VALUE);

But you can't use constants as the default value in a parameter list
(commence being boggled) so we have to use null instead of UNSET_OLD_VALUE
as the default value, and then check the 'arguments' special variable to
see if someone passed in null or whether it came from the default value. Aiya.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4726 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-06-04 22:00:48 +00:00
Jonathan Le Plastrier 5f0ffa11d4 Fix the docs link.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4725 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-30 22:26:24 +00:00
Ray Greenwell fed8aceae5 Use StringUtil.parseInteger.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4724 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-25 21:19:50 +00:00
Ray Greenwell df27e347f0 Created parseInteger() as a replacement for the built-in parseInt(),
which parses a String like " 7pigs" as the value 7.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4723 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-25 21:19:31 +00:00
Ray Greenwell 32740e654a Fixed numeric key-modifying lookups.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4722 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-25 20:06:11 +00:00
Ray Greenwell cef7e14583 Tracked down the bug that was causing some composed translations
to come out as "mmmmmmmmmmmmmmmmmmmmmm".


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4721 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-25 19:42:03 +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
Ray Greenwell c29a7b007b Um.
I'm not sure what I was thinking: we'll never want to auto-recognize
command:// urls in text. In the places where we'll use them we'll
format things ourselves.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4719 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-23 21:21:06 +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
Ray Greenwell f2e1d94e7a Comment fix.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4716 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-18 04:51:44 +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
Ray Greenwell 9ea934cd82 Added support for recognizing "command://" urls.
Sigh. So not standard.
I suppose I could devise a whole system for registering protocols, and
adding registered protocols to this regexp, but we'll never have another
one of these and this is just easier for now.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4709 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-14 20:47:33 +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
Nathan Curtis 01b43deb6e Line -> LineSegment
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4707 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-10 22:00:24 +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
Ray Greenwell 5b07cd55f9 - Added a method to get the point of intersection.
- Added getLength().
- Took out crazy null-tolerance in equals(). If your line is malformed,
  you may get NPE's trying to test equality with another line. Fix your line.

These are line segments anyway. We should maybe rename this
class to LineSegment.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4702 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-09 00:26:14 +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
Nathan Curtis 0cba1203c9 implement equalable
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4700 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-05-09 00:02:36 +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