Commit Graph

29 Commits

Author SHA1 Message Date
Bruno Garcia 5758499ba0 Generate a signal for array ElementUpdatedEvents.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6339 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-04 01:30:08 +00:00
Bruno Garcia 66dfd0f44e Generate DSet add/remove/update signals for AS3 DObjects.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6338 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-04 00:24:30 +00:00
Andrzej Kapolka ec989e68c2 Let's include the dropped message in the warning to help us figure out
what's being dropped in Project X.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6336 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-03 21:46:57 +00:00
Michael Bayne f0860e3c57 Let's catch Throwable so that we correctly shut ourselves down if something
unexceptional causes startup failure, like NoClassDefFoundError.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6335 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-03 18:21:21 +00:00
Bruno Garcia b660861be3 In an effort to make DObject updates easier to react to in actionscript, gendobj now generates
signals for each field that can be listened to individually.

From the old:

barrel.addListener(new AttributeChangeAdapter(function (event :AttributeChangedEvent) :void {
    if (event.getName() == BarrelObject.MONKEY_COUNT) {
        // ... cast event.getValue() and use it
    }
}));

to the new:

barrel.onMonkeyCountChanged.add(function (newValue :int, oldValue :int) :void {
    // ...
});


Only AttributeChangedEvent have been signalified, but I'm planning to continue with the other
ChangeListeners shortly.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6328 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-02 02:25:35 +00:00
Andrzej Kapolka cfbf5a742c Hey, that's not a string!
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6326 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-02 00:31:03 +00:00
Mike Thomas 7f765020a9 Since we're in the middle of reporting a failure, this can be due to an already-disappeared client-obj. If so, let's not NPE and just log a nice friendly null.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6325 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-02 00:17:02 +00:00
Par Winzell 4c0224f835 Break success notification out into its own method. This lets me call it separately, and mastches reportFailure() quite elegantly besides.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6324 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-01 15:04:11 +00:00
Tom Conkling be72e5cdad Add support for ActionScript Set streaming
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6323 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-12-01 03:00:52 +00:00
Michael Bayne 9c9129a796 We can't use the type systesm to enforce our requirements, but we can use
obtain containment and a stack of specifically typed outer class references to
accomplish what we need without misleading casts.

This will require changes to Yohoho which I shall make forthwith.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6320 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-30 18:35:58 +00:00
Charlie Groves 5a3694aa6f Separate GenActionScriptStreamableTask from GenActionScriptTask and add dobject support to GenActionScriptStreamableTask
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6315 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-30 02:39:12 +00:00
Charlie Groves 8e5865995c * Add a static method to init and run a PresentsServer given guice modules with its configuration.
* Rename PrefixServer.Module classes to PrefixModule.  They all implement guice's Module, and it's
  hard to pass a class around as its interface if they share a name.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6303 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-23 22:19:01 +00:00
Andrzej Kapolka 80233b31a1 Include the attribute clear in the compound event. We're getting some weird
errors with duplicate receiver entries on reconnect in Spiral Knights, and
I'm hoping this will fix them.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6301 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-23 21:13:41 +00:00
Mike Thomas b26d2268ca We need this cast() method on InvocationListener too since that's getting used that way in genservice.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6297 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-23 01:02:23 +00:00
Ray Greenwell a9416fd235 Created a new abstract parent class for Entry*Event: EntryEvent.
The big win is that getKey() now exists on each of those event types.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6278 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-17 00:00:49 +00:00
Charlie Groves 890cc0bdc1 Forgot to commit the RegistrationService implementation on Saturday
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6275 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-16 22:53:45 +00:00
Charlie Groves 544d41d24d Make ConnectionManager a general-purpose select server and implement a flash Policy server with it.
The presents-specific portions of ConnectionManager like reading Message subclasses and sending
datagrams are now in PresentsConnectionManager.  PresentsServer should behave identically, except
during shutdown.  Before, connections would be accepted and datagrams would be read until the OMgr
thread exited.  Now, both stop as soon as the server begins its shutdown.  This seems like an
improvement to me, but let me know if it causes issues and I can rework it.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6270 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-16 03:33:45 +00:00
Charlie Groves ecb5f96567 Sort the includes for cross-JVM generation consistency
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6269 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-15 20:52:23 +00:00
Charlie Groves 1cb16d4173 Add RegistrationService to allow cpp clients to register receivers even though they're not using DObject
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6268 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-14 01:01:23 +00:00
Charlie Groves 4e8fdf66f4 Whoops, 1.6ism
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6265 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-13 22:36:55 +00:00
Charlie Groves 1f010f0a4e Add a C++ client for presents.
It provides code generators for streamables, services and receivers, but not DObject.  It uses
Apple's CFNetwork for its sockets and builds with XCode, so it's limited to OS X and iOS. It should
be straightforward to replace both to make it cross-platform.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6264 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-13 21:58:45 +00:00
Michael Bayne 7df0de5389 Keep our resources in src/main/resources per the standard project layout.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6251 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-08 17:31:33 +00:00
Charlie Groves 07706ec61e handleAcceptedSocket can't be called by code outside of ConnectionManager as it
touches the _handlers Map which should only be modified on the
ConnectionManager thread.  Add transferAcceptedSocket for outside socket
acceptors to call.  It sticks new sockets into a queue, which are then passed
to handleAcceptedSocket as part of ConnectionManager's iterate.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6250 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-05 23:07:19 +00:00
Andrzej Kapolka 07b6a3a102 We should probably reset the dropped count each time the connection is
cleared.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6249 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-11-05 03:08:12 +00:00
Dave Hoover 0bb3713fe8 We're already using T for other things.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6241 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-25 23:10:08 +00:00
Michael Bayne e0dfddb46b Handle parameterized types in invocation services and receivers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6232 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-23 19:37:51 +00:00
Andrzej Kapolka 93aa0b5bf6 Apparently this boolean needs to be set explicitly; also, whitespace fix.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6228 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-23 04:06:47 +00:00
Michael Bayne 3b54853878 This old native code for dispatching signals needs to die die die. It's long
since been replaced by using the secret undocumented JDK APIs for doing the
same thing. AFAIK that works on all of our servers and we're not shipping
libsignal.so with anything.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6225 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-22 21:59:18 +00:00
Michael Bayne 9d2ca42eac Convert Narya (most of the way) over to a Maven Ant task based build. The
ActionScript bits remain belligerent, but the Java stuff is mostly shipshape.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6222 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-22 21:12:29 +00:00