Commit Graph

1101 Commits

Author SHA1 Message Date
Charlie Groves 8581947de5 Add a cousin of setUsername, updateUsername, that does the same thing but in the active client object. Like setUsername, its invocation should always be accompanied by the sacrifice of at least three chickens and if you really want it to succeed, one small goat.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5081 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-12 21:23:16 +00:00
Mike Thomas c42281ce7a Patch from Jamie to ensure GenService still finds all the array parameters for importing.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5069 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-09 23:06:43 +00:00
Jamie Doornbos 8eef2df364 Fixed same package removal to not also wipe out subpackages
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5052 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-08 19:30:55 +00:00
Jamie Doornbos c112a5c982 Regenerated narya services with new GenServiceTask, actionscript and java
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5051 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-08 19:17:34 +00:00
Jamie Doornbos 6ee4f8115f When generating service-related code, remove imports of classes in the same package
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5050 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-08 19:16:06 +00:00
Jamie Doornbos 147e849cbb adding missing license header
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5049 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-08 19:07:30 +00:00
Jamie Doornbos 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


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5048 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-08 19:06:32 +00:00
Jamie Doornbos 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)



git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5043 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-06 22:54:58 +00:00
Jamie Doornbos 2ecda5b89a Forgot to check the receivers, needed to do the standard removeGlobals call
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5042 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-06 22:48:36 +00:00
Jamie Doornbos 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


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5041 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-06 22:44:36 +00:00
Par Winzell 5924aac198 Running genreceiver and genservice with Jamie's spiffed-up generators.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5037 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-06 16:59:04 +00:00
Jamie Doornbos 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


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5036 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-05-05 22:53:31 +00:00
Charlie Groves 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
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5029 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-29 18:07:04 +00:00
Ray Greenwell bf55267dac Let's handle the common case first here too.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5014 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-23 17:35:09 +00:00
Michael Bayne 4328cc7875 Yohoho needs to replace the auth response data on the fly. Allow it.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5010 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-22 21:23:37 +00:00
Michael Bayne 784b087ed0 Stop our peer refresher interval when we are shut down.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5000 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-16 22:22:09 +00:00
Charlie Groves 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
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4997 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-11 21:04:48 +00:00
Charlie Groves b65487f318 Cut the number of times a service class needs to be specified to two
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4993 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-10 01:18:32 +00:00
Michael Bayne b690315196 It's a glorious new year.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4989 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-05 22:46:04 +00:00
Michael Bayne 4c5fc71417 Annotations for documenting methods and classes as "distributed object event
dispatch thread only", "blocking thread only" or "callable from any thread."

As the comment says, some day we'll look into enforcing these annotations with
some bytecode rewriting.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4988 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-04-05 22:06:59 +00:00
Michael Bayne 7853f2fb94 Log the _username instead of the _clobj which might go away.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4985 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-29 17:53:56 +00:00
Dave Hoover 4d77995e06 Store off a reference to the interval that generates our server reports so that subclasses can play with it if they want.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4979 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-24 21:11:30 +00:00
Michael Bayne 474ba03a8e Allow clients other than peer clients to be ignored.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4977 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-21 00:47:43 +00:00
Mike Thomas 6e0bd68148 Roll back the interrupt() yet again - 1) it didn't fix the problem we were trying to fix and 2) it was causing problems with logoff.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4968 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-10 17:20:03 +00:00
Mike Thomas 1076052701 Remove the temporary debug logging.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4967 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-08 01:34:42 +00:00
Mike Thomas b097e46637 Need a default constructor visible to our descendants.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4965 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-08 00:35:07 +00:00
Mike Thomas 4fabfcf0f3 Resort to adding some temporary logging printouts to BlockingCommunicator to figure out what's keeping the reader thread from being shut down.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4964 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-07 23:53:19 +00:00
Mike Thomas 0af0ce8469 Re-instate the interrupt() but setup some additional exception handling so we don't spew to the logs unnecessarily due to this.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4962 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-07 20:09:13 +00:00
Mike Thomas 69646f624b Roll this back - calling interrupt() in this way caused the other end's writer to get fairly upset.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4961 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-06 21:43:08 +00:00
Michael Bayne d153a06aa2 Reinstate the kick in the pants for the reader thread. Previously we relied on
the LogoffRequest being received by the server which resulted in the server
closing its end of the socket which resulted in the reader being woken up to
hear that its socket was closed and then it exited. We'll just have it exit
immediately. It's possible that messages in transit to the reader that would
have been read prior to full shutdown will now be dropped instead of delivered,
but the client has already requested to logoff, so they can't really care about
additional messages coming from the server.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4960 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-06 19:14:19 +00:00
Michael Bayne 8a745b30e0 Listen for SIGTERM as well and gracefully shutdown in that case.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4959 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-05 23:28:28 +00:00
Mike Thomas e8b5d41fb8 Split out the way we handle the preferred port so we can override that.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4958 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-05 19:09:36 +00:00
Dave Hoover 0b068d5189 You know, generifying that correctly is actually a big scary tunnel of dealing with
our generated services & whatnot, so that's a much deeper rabbit hole than I was 
thinking when I just did that one big, so I'm going to leave that well enough alone
for now instead of half-assing it.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4949 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-03 22:11:45 +00:00
Dave Hoover 8c5e04aac5 Generify.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4948 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-03-03 22:06:49 +00:00
Charlie Groves 8a7f4c4121 Clarify that SetListeners get all Entry events, not just the ones for a particular set
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4939 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-02-19 23:05:30 +00:00
Charlie Groves 7564f88796 Expose the type on Entry* events to SetListener and SetAdapter
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4938 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-02-19 20:40:09 +00:00
Dave Hoover 4f5d065405 Access this static method in a static way.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4928 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-01-31 21:26:37 +00:00
Dave Hoover 24f557c0d7 Speeling
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4924 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-01-22 23:57:54 +00:00
Dave Hoover 2ce35db583 Remove unneeded casts.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4923 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-01-17 01:25:52 +00:00
Charlie Groves 643982e798 If we just bail after a connection closes during resolution, the ClientManager still thinks we're resolved and can just resume the session if the client reconnects. Resuming fails because we don't have _clobj to resume with, so the client fails to connect over and over again until the half-connected client is flushed from ClientManager's cache several minutes later. Just clear the client out of the cache immediately instead.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4920 542714f4-19e9-0310-aa3c-eee0fc999fb1
2008-01-08 04:12:35 +00:00
Michael Bayne 768e6a76be Create our shutdowner list at class init time so that it is safe to register a
shutdowner at any time.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4915 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-20 22:05:49 +00:00
Michael Bayne 6e55c2df8b Use samskivert signal wrapper.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4909 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-17 22:23:51 +00:00
Dave Hoover 289475b253 Keyword substitution.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4893 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-03 21:07:34 +00:00
Michael Bayne 4c4d253974 Let's add a couple more very handy helper methods.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4891 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-03 19:54:58 +00:00
Michael Bayne cb46d3a1af Allow the unit to throw InvocationException and do the right thing with it.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4890 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-03 19:45:53 +00:00
Michael Bayne c935c46612 Handle the client connecting and disconnecting before client object resolution
completed, or connecting, disconnecting and reconnceting before client object
resolution completes a little more gracefully.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4889 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-12-03 18:28:07 +00:00
Michael Bayne 983adf75e5 Nix the wacky arguments thing. Let the caller simply beware.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4885 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-11-28 01:03:49 +00:00
Michael Bayne 69a1d2ec23 Slight change to usage and documentation.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4884 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-11-28 00:47:16 +00:00
Michael Bayne 95adfeb646 Regenerated services.
git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4883 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-11-28 00:25:35 +00:00
Michael Bayne 9e835ff6e9 Added a way to package up an action and data and send it to all appropriate
servers for execution. The class in question must exist on the remote server
but all of our servers are all always running the same code, so this follows.


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@4882 542714f4-19e9-0310-aa3c-eee0fc999fb1
2007-11-28 00:25:23 +00:00