7bbd9baf28
Fixed bug where bureau registry would not destroy pending agents, exposed by curretnly broken thane client
Jamie Doornbos
2008-05-10 00:58:00 +00:00
c2a7e52626
Updated the testslib target to use Main compiler, added the actual test client code, implemented the target to run the thane test client, tweaked the tester options to run thane and go nice and slow (one operation every 3 seconds and only one instance)
Jamie Doornbos
2008-05-10 00:57:22 +00:00
d502e33c7f
Added new paramter for registry tester to be able to override the ant target used to launch a bureau
Jamie Doornbos
2008-05-10 00:51:57 +00:00
6b6a66a669
... and back again, because apparently you can't initialize static members in, you know, static code.
Par Winzell
2008-05-10 00:10:56 +00:00
2af3ff6dc8
We can still initialize this statically, thanks Ray.
Par Winzell
2008-05-09 23:35:56 +00:00
a3d1884340
More ugly changes because of Tamarin's immaturity. We're switching to the 'Main' frontend of ASC, which means we have to manually arrange the etc/asc-files.txt lines in the correct dependency order. This compiler also lacks an -outdir options, so we have to do a ridiculous <move> at the end.
Par Winzell
2008-05-09 23:07:33 +00:00
c42281ce7a
Patch from Jamie to ensure GenService still finds all the array parameters for importing.
Mike Thomas
2008-05-09 23:06:43 +00:00
8ca4f9ca47
Work around a bug in Tamarin. Sorry for the ugly. Hopefully it's temporary.
Par Winzell
2008-05-09 23:03:39 +00:00
2cb6086434
Look ma, it's the last word in a small Ray-Charlie quibble. :) I just feel like: imagine if there were no Map.containsKey(). You would instead have to get() the value and see if it's not null. If you did that, you certainly wouldn't throw away the value if you were going to get it again right below, would you? So why would you do it simply because of the addition of a convenient method called containsKey()?
Ray Greenwell
2008-05-09 21:46:43 +00:00
bf222d2d39
Properly handle StringUtil.parseInt("0", 0)
Tom Conkling
2008-05-09 18:58:42 +00:00
bf3a5599f2
I removed print(), use trace() instead.
Par Winzell
2008-05-09 15:57:50 +00:00
993ae240b3
ScriptCompiler croaks and dies on this, let's try Main. I think we're going to end up writing our own frontend for this compiler, these are all so broken. Witness the bizarre need to move the target file at the end here.
Par Winzell
2008-05-09 15:57:05 +00:00
97a09f82cb
New version of Thane with System.argv support.
Par Winzell
2008-05-09 15:52:43 +00:00
fc5a2b1b18
Add dependency on the libraries we link against.
Par Winzell
2008-05-09 15:52:20 +00:00
42246d96b5
Split abc compilation out into its own targets for readability.
Par Winzell
2008-05-09 14:58:24 +00:00
5d544fdd55
Use Maps and Lists. Unglommed imports. Having them separated into presents and crowd was intentional (with presents on top because it is more "generic"). We must resist Eclipse's desire to squish our imports together into one giant, hard to (visually) parse blob.
Michael Bayne
2008-05-09 11:47:38 +00:00
c626095393
First stab at test code to run a thane bureau - not yet runnable * New directory tests/src/as with port of java test client * New build target "abclib" to create a library of the test classes specified in etc/asc_files.txt * New target to compile TestClientMain.as against testslib.abc and another to run it.
Jamie Doornbos
2008-05-09 06:40:53 +00:00
3ccea1c218
Make naryalib.abc rebuild when file list changes
Jamie Doornbos
2008-05-09 06:28:00 +00:00
10b282ce65
Added the bureau to the asc build
Jamie Doornbos
2008-05-09 06:27:19 +00:00
a841233609
tidied up build.xml with Zells permission, which exposed a problem with the Environment switcheroo, also fixed
Jamie Doornbos
2008-05-09 00:03:55 +00:00
bc35598a2e
first pass at converting the bureau client to actionscript. now to find a way to run it...
Jamie Doornbos
2008-05-08 23:01:46 +00:00
18d4136e3a
Simplistic support for cyclic references so this method can be used without fear.
Par Winzell
2008-05-08 19:45:39 +00:00
8eef2df364
Fixed same package removal to not also wipe out subpackages
Jamie Doornbos
2008-05-08 19:30:55 +00:00
c112a5c982
Regenerated narya services with new GenServiceTask, actionscript and java
Jamie Doornbos
2008-05-08 19:17:34 +00:00
6ee4f8115f
When generating service-related code, remove imports of classes in the same package
Jamie Doornbos
2008-05-08 19:16:06 +00:00
98bb871e6d
Fixed code generation for existing msoy services * Created concept of a pattern for transforming imports rather than have some methods assume a suffix is provided and others assume a prefix * Leave full array types in import set initially so that they can be dealt with differently by different code exporters * Added more primitive types and array types for action script marshallers, including conversion to TypedArray * Add listener marshaller mungings for action script marshallers' imports * Added handling for array imports for action script services
Jamie Doornbos
2008-05-08 19:06:32 +00:00
45c6def0bc
We need verbosity now. Maybe I'll screw around with passing properties down to sub-projects to control their stack trace verbosity when I'm not sick.
Ray Greenwell
2008-05-07 21:51:17 +00:00
b528132e5d
Away, spurious line feed.
Par Winzell
2008-05-07 15:39:55 +00:00
b174219540
We now build a subset of Narya for execution on Tamarin, the server-side AS3 VM.
Par Winzell
2008-05-07 15:33:07 +00:00
4442cb7bc4
Try a different way of assessing the plainness of an object that doesn't rely on describeType(). This could potentially break games and such in somewhat non-obvious ways. I've tested a number of things locally but the next step is www.dev.whirled.com.
Par Winzell
2008-05-07 00:34:23 +00:00
430b23a5bb
regenerated services, notice actionscript stuff has the most changes (I just noticed marshallers are importing themselves but the flash compiler doesn't seem to mind, so committing now)
Jamie Doornbos
2008-05-06 22:54:58 +00:00
2ecda5b89a
Forgot to check the receivers, needed to do the standard removeGlobals call
Jamie Doornbos
2008-05-06 22:48:36 +00:00
61b1f23303
Narya.abc work - refactored GenServiceTask import mechanism in order to generate clean action script files with no unnecessary imports * New class ImportSet to facilitate the operations being performed manually throughout the code. Also removes the need for rawimports * Threaded ImportSet through all places where imports and rawimports were used and removed magic parameters to control import generation * Added an ImportSet instance to ServiceListener, this was key to the action script fixes * Moved all the import tweaking and munging logic into the generate* methods and made specific to code being generated (removed overreaching stuff from ServiceMethod, this was part of the problem) * Removed blanket imports from tmpl files * Removed unused methods * Fixed tabs from last commit * Quick and dirty script to check for unused imports
Jamie Doornbos
2008-05-06 22:44:36 +00:00
aeafaccd66
I think this depencency on Stage is obsolete now.
Par Winzell
2008-05-06 19:45:47 +00:00
971ec75567
Some manual unused-import removal. I think one or two of these might need further Jamie lovin' but I want to get ABC compilation running.
Par Winzell
2008-05-06 17:12:42 +00:00
15c16a40b6
Running genreceiver and genservice with Jamie's spiffed-up generators.
Par Winzell
2008-05-06 17:03:54 +00:00
5924aac198
Running genreceiver and genservice with Jamie's spiffed-up generators.
Par Winzell
2008-05-06 16:59:04 +00:00
bf501313f1
Narya.abc work - get rid of unused imports in generated service targets: * ServiceMethod import options: - Made argument type imports ignore first N args (0 for old behavior) - Made marshaller listener imports optional * Added InvocationTask._verbose and several dumps of current imports to help track down future superfluous imports * Made the import of ServiceListener method arguments' types optional * Wrapped up most of processService code into protected inner class ServiceDescription and made configurable: - Optional import of the types of the first arguments of the service methods - Optinoal import of the types of listener method arguments * Changed generate methods to take the service class and construct their own local ServiceDescription configured for their target * Removed global import of service class and do it explicitly where required (via method addServiceImport) * Made some imports conditional - InvocationResponseEvent for mashallers only if service has some listeners - InvocationException for providers only if service has some methods with listener arguments * Removed unused variables and imports
Jamie Doornbos
2008-05-05 22:53:31 +00:00
c4af1d257c
Add dependency on google-collect for the bureaucracy
Charlie Groves
2008-05-05 21:10:11 +00:00
5cae3fb3a3
This is no longer useful to us.
Par Winzell
2008-05-01 00:00:27 +00:00
3d65f679e8
Fixed I/O in BureauRegistry and removed synchronization * Keep an Invoker member * Added internal Launcher class to run ProcessBuilder.start on the invoker thread because it is blocking * Removed synchronized from methods, all ooo-servers are single threaded, hurray!
Jamie Doornbos
2008-04-30 18:27:45 +00:00
e74035a05c
Bureaucracy smoke test and resulting bug fixes * Added RegistryTester smoke test which randomly creates and destroys agents in batches * Fixed bug where correct agent id was never making it to client * Implemented Bureau.toString (+refactored summarize method) * Fixed nasty bug due to my assumption that SafeSubscriber =~ Subscriber, they are in fact completely different
Jamie Doornbos
2008-04-30 17:55:40 +00:00
490b5b9764
Bureaucracy: Fixed my TODO about using google's Maps and Sets utils
Jamie Doornbos
2008-04-29 19:02:13 +00:00
f41233c5ac
Bureaucracy review updates and hello world test * Fleshed out client-side Agent class, made abstract * Delegate the creation of the bureau director to subclasses of BureauClient * Moved BureauDirector's BureauReceiver and Subscriber implementations to anonymous classes that delegate to protected methods. * Use SafeSubscriber * Added new service method for notiyfing the server when the creation of an agent fails so that the registry is not perpetually waiting * Made BureauCredentials more conformant * Made BureauRegistry respond properly to client logging off * Got rid of superfluous uses of safeToString * Changed Launcher to CommandGenerator and now use ProcessBuilder and copyMergedOutput * Changed bureau process parameters to server name and port instead of URL
Jamie Doornbos
2008-04-29 18:34:51 +00:00
938d7f5994
Share a single MethodFinder between all instances of a subclass of PlaceManager as they can be large enough constitute the bulk of a PlaceManager
Charlie Groves
2008-04-29 18:07:04 +00:00
f6e95780f5
created KeyboardCodes. Most of these constants are mysteriously missing from flash.ui.Keyboard, where they're supposed to be.
Tom Conkling
2008-04-29 00:58:39 +00:00
74dac11f97
Bureaucracy * Fixed signature of Receiver methods * Implemented create/destroy mechanism and bootstrap request in BureauDirector * Added BureauContext class to expose bureau information on top of usual presents stuff * Added BureauContext implementation in BureauClient * Added code to kick off the director when the client logs on * Added credentials for a bureau logon, which is just a token passed to command line launcher * Added concept of bureau types to distinguish between executable and command line arguments; includes interface BureauRegistry.Launcher * Implemented backend for the registry
Jamie Doornbos
2008-04-28 18:34:57 +00:00
b10cc3643d
Removed @Override on interface methods. the deployment build must be using stricter options (need to find them so I can replicate these issues locally in the future)
Jamie Doornbos
2008-04-25 20:39:51 +00:00
5d02ac7306
Fix runjava which was out of date.
Jamie Doornbos
2008-04-25 00:20:44 +00:00
8b673c08aa
Layabout checkin: asdoc cleanup.
Ray Greenwell
2008-04-23 21:54:56 +00:00
7cd7cc48cb
Swap the order of the generatorFn and callbackFn args. Made the generatorFn optional, in case the source values are already ready-to-go, although 99% of the time it's going to be better to use the generator function to get things ready to go because MultiLoader will take care of figuring out the sources structure.
Ray Greenwell
2008-04-23 21:47:00 +00:00
249c4bb42d
Nixed some now redundant casts.
Michael Bayne
2008-04-23 20:00:09 +00:00
0fb090ea52
Let's also make that a warning now that we don't think it's going to happen as a matter of course on old VMs.
Michael Bayne
2008-04-23 19:59:07 +00:00
9700aa13cd
Use a method available since JDK1.1 to determine our innerness and simplify the logic. If we're inner and we're not static, we have a problem.
Michael Bayne
2008-04-23 19:58:16 +00:00
290d7a9ea1
Freak not out if we fail to determine if our class is local, anonymous or a non-static member. Pre-1.5 VMs can't do all of these things and Retroweaver freaks out at runtime when put to the task.
Michael Bayne
2008-04-23 19:34:22 +00:00
b65bdd47e1
Use a Timer instead of ENTER_FRAME. This is a potentially more dangerous change, but nothing seems awry. Eyes peeled!
Ray Greenwell
2008-04-23 18:17:42 +00:00
b367372dc6
Gah, I tried to abort the last commit so I could make this change, and instead my checkin message got mangled.
Ray Greenwell
2008-04-23 18:07:59 +00:00
19831db930
Stop waiting for ENTER_FRAME to process incoming messages. This was residual from the initial conversion from Java, but I don't think it's very necessary on the flash side, and Zell is working to decouple the presents layer from flash-player specific classes and events like ENTER_FRAME. So now we just process everything immediately. I did some tests, it seems that the flash player dispatches ENTER_FRAME, then it dispatches any network events, then the frame is rendered. So our old way of doing things was pointlessly
Ray Greenwell
2008-04-23 18:04:50 +00:00
bf55267dac
Let's handle the common case first here too.
Ray Greenwell
2008-04-23 17:35:09 +00:00
cd9126b55c
- Proper casting. - Handle the common case first.
Ray Greenwell
2008-04-23 17:32:38 +00:00
630d74a5eb
Added static methods as in EnumSet, folded in updateSize since it was only called in one place.
Andrzej Kapolka
2008-04-23 03:36:35 +00:00
86e09be9c6
Added a StreamableEnumSet class (not actually derived from EnumSet, because Java's implementation of that is private). The performance could conceivably be improved; Java uses two implementations, one using a single long to store the element flags (for enumerated types with 64 or fewer constants) and one using an array of longs (for types with more than 64). This uses an array of bytes.
Andrzej Kapolka
2008-04-23 02:47:14 +00:00
4328cc7875
Yohoho needs to replace the auth response data on the fly. Allow it.
Michael Bayne
2008-04-22 21:23:37 +00:00
5b1b22b955
Removed cruft that long ago was promoted to its own file.
Ray Greenwell
2008-04-22 17:59:52 +00:00
4a25cc3f46
If we fail spectacularly in checking localness, let's print out what class is having trouble, since the java libs don't actually do that.
Mike Thomas
2008-04-21 18:43:30 +00:00
8311762471
I blame the beer
Tom Conkling
2008-04-19 01:39:55 +00:00
c6d763127d
StringUtil.parseBoolean
Tom Conkling
2008-04-19 01:32:21 +00:00
ab02c0ee30
StringUtil.parseNumber
Tom Conkling
2008-04-19 01:06:41 +00:00
3b863e30fa
Per Ray's suggestion, this returns undefined, rather than null, if the object is not found
Tom Conkling
2008-04-17 19:14:42 +00:00
855b4f27d4
copy-paste typo fix
Tom Conkling
2008-04-17 19:11:12 +00:00
f0bf02796e
ArrayUtil.findIf convenience function
Tom Conkling
2008-04-17 19:04:18 +00:00
f017673964
Disallow streaming of non-static inner classes to avoid the inevitable freakoutery as we try to stream the instance's implicit reference to its containing class.
Michael Bayne
2008-04-17 02:48:04 +00:00
784b087ed0
Stop our peer refresher interval when we are shut down.
Michael Bayne
2008-04-16 22:22:09 +00:00
6736267388
Jamie has discovered that the MultiLoader can sometimes be gc'd before calling the callback. Loaders are not supposed to do this, but that may only be when loading over the network and not from a ByteArray.
Ray Greenwell
2008-04-15 21:08:25 +00:00
9f51434a57
Bugfix: in foreach mode, we need to report back if a source is already complete.
Ray Greenwell
2008-04-14 03:00:31 +00:00
1c4cfe501f
Delay notifying the client about the under ass rug yanking until we're in finishResolved in case UserChangeListener.changeReported performs a long operation off the omgr thread and allows the client to respond before _clobj has actually been switched
Charlie Groves
2008-04-11 21:04:48 +00:00
b82dbb416c
Modify requestTell() to accept an optional localFeedback parameter, defaulting to ChatCodes.PLACE_CHAT_TYPE that gets used for any feedback generated from the tell process. This will allow chat systems that display tells in a custom way (tabs) to distinguish tell-related feedback from other feedback.
Nathan Curtis
2008-04-11 17:03:24 +00:00
6b217c0b2b
Sorry little buddy, you're not good enough.
Nathan Curtis
2008-04-10 23:31:43 +00:00
74cb0fa9b9
ExpiringSet, from com.threerings.msoy.chat.client.
Nathan Curtis
2008-04-10 22:49:50 +00:00
b65487f318
Cut the number of times a service class needs to be specified to two
Charlie Groves
2008-04-10 01:18:32 +00:00
839d722abf
whoops - this was performing an unstable sort, backwards
Tom Conkling
2008-04-08 20:24:56 +00:00
9ce195b99d
Made the Comparator optional. Match the coding style already present in file (use ii for loop counter..)
Ray Greenwell
2008-04-08 19:37:00 +00:00
7fd7a8dc5b
Added ArrayUtil.stableSort
Tom Conkling
2008-04-08 19:19:24 +00:00
b690315196
It's a glorious new year.
Michael Bayne
2008-04-05 22:46:04 +00:00
4c5fc71417
Annotations for documenting methods and classes as "distributed object event dispatch thread only", "blocking thread only" or "callable from any thread."
Michael Bayne
2008-04-05 22:06:59 +00:00
6559b163ed
This only need to be unique, not meaningful. (And yes, code running in a security boundary cannot set aliases, thank god) Network traffic--.
Ray Greenwell
2008-04-01 02:02:34 +00:00
766643c702
Tested and verified Dictionaries.
Ray Greenwell
2008-04-01 01:50:23 +00:00
7853f2fb94
Log the _username instead of the _clobj which might go away.
Michael Bayne
2008-03-29 17:53:56 +00:00
964b68a0fa
Beans, frank.
Michael Bayne
2008-03-28 22:22:34 +00:00
5b29ca6a24
RandomUtil.
Ray Greenwell
2008-03-28 21:02:07 +00:00
c7126f07d5
The transition needs to happen in ConfigRegistry so it can reserialize the object in its new format, otherwise we're just writing the same String back out to the db
Charlie Groves
2008-03-27 21:18:26 +00:00
c50e78030c
* Allow subclasses of ConfigRepository to create the ObjectInputStream used to read in serialized config values. * Use a transitioning flag in DatabaseConfigRegistry to indicate that it should immediately write out config values after reading them in.
Charlie Groves
2008-03-27 01:51:15 +00:00
640eb27564
Make leavePlace() properly NOOP if we're not in a place.
Michael Bayne
2008-03-27 00:58:32 +00:00
4d77995e06
Store off a reference to the interval that generates our server reports so that subclasses can play with it if they want.
Dave Hoover
2008-03-24 21:11:30 +00:00
49b893d933
Good news, it appears that flash blocks things in another security domain from screwing with our registered aliases. This might make points and rectangles work.
Ray Greenwell
2008-03-22 01:41:15 +00:00
474ba03a8e
Allow clients other than peer clients to be ignored.
Michael Bayne
2008-03-21 00:47:43 +00:00
933183a53a
Revert.
Ray Greenwell
2008-03-19 07:37:41 +00:00