Commit Graph

5551 Commits

Author SHA1 Message Date
Charlie Groves 20d97bf26a Mark StreamableArrayList and StreamableHashMap as replaced by their basic Java counterparts. Basic
Map and List types are streamed as fields, which are smaller on the wire.  I'd deprecate them, but
yohoho uses them all over the place.

Handle generating code for StreamableArrayList and StreamableHashMap in actionscript for existing
code.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6215 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-18 21:18:36 +00:00
Dave Hoover 3a25e8a3b9 Update source headers to point to our new home.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6214 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-18 18:01:12 +00:00
Charlie Groves 250e74e339 Move all the fileset and classloading wanging into GenTask
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6213 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-16 23:16:14 +00:00
Charlie Groves 9c945bbacd No need to generate a default constructor; let it be filled in the non-auto section if desired. Don't indent the implements statement if there isn't an extends.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6212 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-16 23:15:44 +00:00
Dave Hoover ce3538c409 Boo, Ray's right; I can't do that.
Not all streamable things are Streamable (e.g. String, Integer)

git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6211 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-15 20:53:21 +00:00
Dave Hoover e59135fdd5 Values in StreamableHash[Int]Maps must be Streamable, so let the compiler know.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6208 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-15 20:16:11 +00:00
Dave Hoover ea58e7a7b7 Whitespace
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6207 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-15 20:16:09 +00:00
Dave Hoover d17407cfaf Generics
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6206 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-15 20:16:07 +00:00
Dave Hoover 34dfd3ebd6 Wrong "its"
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6205 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-15 20:16:06 +00:00
Charlie Groves 13f43728ec Generate streaming code for Map
Is there a reason Map isn't Equalable?  java.util.Map requires an equals implementation, and it has
the same lack of guarantee of its values implementing equals.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6201 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-15 08:42:39 +00:00
Charlie Groves bcbeb03345 Only two pieces of debugging code slipped past me in that small commit
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6200 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-15 07:56:13 +00:00
Charlie Groves aad715138c Make writing List fields on Streamables possible from ActionScript again, and fix List reading and
writing in the code generated by GenActionScriptStreamableTask.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6199 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-15 07:53:38 +00:00
Charlie Groves 5d48f7726a Add a generated source updating tool and an actionscript streamable generator built with it.
GeneratedSourceMerger merges the latest version of generated source into a previously generated
version a la GenRecordTask SourceFile.  Unlike them, it doesn't have a hardcoded set of sections to
update.  Instead it finds any sections using the // GENERATED <name> START and // GENERATED <name>
END markers in newly generated version and replaces those same sections in the old version.

GenActionScriptStreamableTask creates actionscript Streamable classes from their Java counterparts
like GenActionScriptTask, but unlike GenActionScriptTask it doesn't attempt to parse Java source to
generate actionscript.  It only generates actionscript code to do streaming and leaves any
custom implementation to the user.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6196 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-14 22:55:44 +00:00
Michael Bayne 1471e82f3a Provide a HistoryList mechanism down here in the basic service.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6194 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-14 16:19:17 +00:00
Michael Bayne 586b29fa09 The ChatDirector requires a MessageManager, so let's promote that to a real
CrowdContext service instead of sneaking it into the ChatDirector's
constructor. That way other CrowdContext users can make use of the
MessageManager as well.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6192 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-14 15:45:06 +00:00
Michael Bayne 3462ee2661 Exception is already Serializable and GWT accepts Serializable in lieu of
IsSerializable. If possible, it would be nice to keep GWT references out of
narya-base (where com.threerings.web ends up).

I'm already dealing with the breakage caused by GWT in narya-distrib, but I'd
rather not have to filter GWT out of narya-base *and* narya-distrib in every
Proguard configuration from here to Gomorrah, if possible.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6187 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-12 18:05:30 +00:00
Michael Bayne f4af1915b0 Build narya-tools with jarjar so as to hide its included dependencies in the
unfortunate event that someone puts it on a real project classpath.

Modified GenTask to totally hide Velocity from derived classes so that external
libraries can make use of it in their own Ant tasks without inheriting a
Velocity dependency and also becoming booched because Velocity was renamed in
jarjar and won't link against an unrenamed Velocity.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6185 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-12 17:35:41 +00:00
Par Winzell bdff124525 Strings have length, Zell.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6183 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-07 20:23:24 +00:00
Par Winzell 72d0016963 I guess I have to actually use a Java5 SDK for Narya. How's that whole 'convert to java 6' thing going, yohoho folks?
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6182 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-07 20:10:34 +00:00
Par Winzell d26267c704 GWT frontend and servlet for editing runtime configuration.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6178 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-07 19:21:48 +00:00
Par Winzell 3069062034 Some basic GWT infrastructure.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6177 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-07 19:21:24 +00:00
Ray Greenwell 1b30ef96cf Quell enthusiastic logging for an inevitable action.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6176 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-07 17:28:49 +00:00
Andrzej Kapolka ba118de010 Looks like this should just return if it can't get the value, rather than
set the (possibly non-nullable) value to null.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6175 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-05 21:03:09 +00:00
Mike Thomas 26d497861f Fix a bug where the client & server happen to attempt to change location nearly simultaneously.
Rather than ignoring all forced moves from the server, let's instead ignore those which are truly duplicates of our pending move, but merely postpone those which are a separate move until our pending move is complete.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6174 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-05 20:54:41 +00:00
Michael Bayne b73e76d19b Let's use StringUtil.shortClassName() which handles null and also snips off the
package, since that's generally TMI anyway.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6173 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-05 20:27:31 +00:00
Andrzej Kapolka adf1f5af37 Null values don't have classes.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6172 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-10-05 20:23:03 +00:00
Charlie Groves e91aeaf3de ConnectionManager needs to be injectable for things not using BindingConnectionManager
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6171 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-22 01:22:49 +00:00
Michael Bayne 55fb708832 Restructured BindingConnectionManager so that the listen sockets are included
with all the other sockets and we do only a single select. Nixed the
SocketChannelAcceptor as it relies on having its own Selector which is not
desirable here or in Samsara.

I'd also like to move SelectorIterable to samskivert since it's a generally
useful addition to NIO, but it depends on Google Collections. It should
probably stay in Presents anyway since it has a Presents-inspired if not
Presents-specific catastrophic error handling approach.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6170 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-20 23:29:18 +00:00
Michael Bayne 22aefb9aef Some tidying up and comment improvements.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6169 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-20 19:40:50 +00:00
Michael Bayne e574ad7215 Source headers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6168 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-20 19:16:15 +00:00
Charlie Groves 308a6f9d52 Turns out presents' datagram support doesn't make sense at an individual datagram level, and
requires a supporting Connection provided by the ConnectionManager.  As such, there's no point in
adding an additional selector for datagrams outside the ConnectionManager, and this moves it back
into BindingConectionManager.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6166 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-16 22:47:58 +00:00
Charlie Groves 08a4a5281d tomato tomato
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6165 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-16 20:02:20 +00:00
Charlie Groves e75d4917c8 Not used
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6164 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-16 18:23:30 +00:00
Charlie Groves 68a5c21cda Allow the select wait for ConnectionManager to be injected eg
bind(Integer.class).annotatedWith(IncomingEventWait.class).toInstance(1);
will make the select wait 1 millisecond.

Don't wait for the select for datagrams or sockets in BindingConnectionManager as there's already a
wait on the ConnectionManager's select.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6163 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-16 18:23:10 +00:00
Dave Hoover fc13de8b9a Nix unused import
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6162 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-16 17:45:51 +00:00
Dave Hoover ffd5b490bf Fix javadoc
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6161 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-16 17:45:50 +00:00
Dave Hoover 1645c23be5 No @Overrides for interfaces in java 1.5
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6160 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-16 17:45:50 +00:00
Ray Greenwell 5c411bf6e7 There's a method for that.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6159 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-16 17:38:29 +00:00
Charlie Groves e24ddecabb Fucking Java 5
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6158 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-16 03:13:42 +00:00
Charlie Groves a0d4296b4e Split tcp socket opening and datagram listening out of ConnectionManager to allow sockets to remain
open when a ConnectionManager using them shuts down.

BindingConnectionManager takes on the duties of opening sockets that ConnectionManager used to
handle, and it's injected automatically by PresentsServer.  Hopefully that means this won't change
anything for existing users of PresentsServer.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6157 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-16 02:49:29 +00:00
Charlie Groves 0d4837e71d ConnectionManager allowed a server to listen on multiple tcp and datagram ports, but it only closed
the last opened.  Close all opened listening sockets.

Also, the last opened datagram socket would be used to send all datagram messages instead of the one
datagrams were received on.  It now goes through the same channel where datagrams were last
received.



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6156 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-14 22:47:45 +00:00
Par Winzell c2ebf2884b Ray points out this can usefully be an AtomicInteger.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6155 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-13 17:35:23 +00:00
Par Winzell 6f7101404b Don't go beyond 100.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6154 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-13 17:15:37 +00:00
Par Winzell 3fd045a01d Error error.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6153 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-11 17:06:29 +00:00
Par Winzell 2180623f37 Don't modify the set we're iterating over.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6152 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-11 17:02:48 +00:00
Michael Bayne d5dcc4a1eb Nixed some cruft, updated some source headers.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6151 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-11 04:30:16 +00:00
Mike Thomas ba0ba7f659 Instead of NPEing when we reset _oin at a bad time, let's throw an exception we can better handle and reduce some log spew.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6150 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-09 17:35:44 +00:00
Charlie Groves 908bee05c4 Stop lying
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6148 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-08 19:29:51 +00:00
Charlie Groves be64ef83f1 Create the directories for generated files if necessary
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6147 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-07 23:45:04 +00:00
Charlie Groves d35526a3c4 Unused imports
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@6146 542714f4-19e9-0310-aa3c-eee0fc999fb1
2010-09-07 21:03:33 +00:00