Commit Graph

  • 6531aa581c Extract client info clearing into a method that can be easily extended. Michael Bayne 2007-07-18 21:35:54 +00:00
  • 20719ee3f1 OK, so even this little change is going to have to wait for a few days until after the massive Depot restructure. The current version gets fields and columns a little confused from time to time. Par Winzell 2007-07-18 18:54:47 +00:00
  • 038e5c5b85 Differentiating these invokers turns out not to be especially useful. Let's avoid log spam and call them all the same thing. Michael Bayne 2007-07-18 18:34:53 +00:00
  • 30a8179c5f Let's switch the peristent peer stuff over to a schema-comaptible Depot implementation. I think only Bang uses presents.peer and crowd.peer -- apart from Whirled -- and Bang already uses Depot. Par Winzell 2007-07-18 18:08:11 +00:00
  • 7cf24684a7 Added locateClient(). Michael Bayne 2007-07-18 06:18:16 +00:00
  • 6b67de9fca Looking something up in all the peer node objects is tricky, so let's encapsulate it into a mechanism that takes care of the trickiness for us. Michael Bayne 2007-07-17 22:03:12 +00:00
  • f68aa1d6d3 Iterate over a snapshot of the values so that we avoid concurrent modification. Michael Bayne 2007-07-17 21:06:09 +00:00
  • 6c65d51d76 I'm switching PeerRepository over to Depot and it returns Lists, not ArrayLists. I sure wish we could use the List and Map interfaces. It's not like we're suddenly going to surprise the caller by maliciously returning a LinkedList one day, or something. Par Winzell 2007-07-17 20:33:47 +00:00
  • 321c3f17e5 Factored PeerNode out of PeerManager as that class was getting complicated and dangerous with two big inner helper classes. Added the nodeName to NodeObject and some other handy methods. Michael Bayne 2007-07-17 01:59:27 +00:00
  • c27356b4c3 Nix need for cast. Michael Bayne 2007-07-16 22:13:59 +00:00
  • 4667d37212 Christmas comes but once a year, but svn keyword substitution day comes whenever the urge strikes! Dave Hoover 2007-07-14 00:26:52 +00:00
  • 10f606be27 Regenerated services. TypedArray is imported even though it's not used because our code generation stuff is not the ultra-sophisticated, but we'll cope. Michael Bayne 2007-07-13 23:54:25 +00:00
  • 27c11ce393 Oops, missed this guy. Michael Bayne 2007-07-13 21:58:09 +00:00
  • 77e3f22d90 Added moveToServer() which does pretty much what it says. Boy I love writing everything in two languages. Especially when one doesn't support inner classes and has non-C syntax just to make life easier for parser writers. Michael Bayne 2007-07-13 21:57:55 +00:00
  • fd687a2774 Widening. Michael Bayne 2007-07-13 20:41:04 +00:00
  • 325dce876d Helper function for searching through an array based on some predicate function. Robert Zubeck 2007-07-13 02:03:25 +00:00
  • 68b65bad41 Create a ConfirmAdapter that expects a result but ignores it. The old ConfirmAdapter becomes a trivial implementation that simply expects a Void result. Michael Bayne 2007-07-13 00:15:04 +00:00
  • 01692e1fff Properly type this ResultListener. Michael Bayne 2007-07-12 21:42:52 +00:00
  • 447ddb01f8 An adapter to convert from an InvocationService.ResultListener to a samskivert ResultListener. Michael Bayne 2007-07-12 20:36:07 +00:00
  • 102dd71f8d Widening. Michael Bayne 2007-07-12 20:30:51 +00:00
  • 1ea3195551 Add genrecord task and Depot dependency test. Par Winzell 2007-07-11 23:29:30 +00:00
  • e53200e627 Huh. I could've sworn I'd bemoaned in the past that I couldn't use the fancy for loops in a case like this, but apparently it DOES work. Dave Hoover 2007-07-11 21:58:40 +00:00
  • 26a2a6a052 Widen some, and break out chat histories a bit so that the server can manually squirt messages into a chat history without actually sending the message to the client. Dave Hoover 2007-07-11 21:34:41 +00:00
  • 7896ee8c02 Allow the who details to be augmented. Michael Bayne 2007-07-11 17:45:20 +00:00
  • 4a34d6d2fd Have the actionscript-generating stuff understand TypedArray. Ray Greenwell 2007-07-11 01:20:36 +00:00
  • 1867645802 Did away with hackery where some chat types were initializing their own client info. Ray Greenwell 2007-07-10 03:04:35 +00:00
  • fd9a50fd55 Allow undefined array elements to print as "undefined" rather than "null". Ray Greenwell 2007-07-06 23:07:44 +00:00
  • ecefdcac85 ObjectMarshaller, formerly EZObjectMarshaller in vilya + some value validation code that was actually in GameControlBackend. Ray Greenwell 2007-07-06 22:26:00 +00:00
  • 90bed27f12 Added StreamableRectangle class. Andrzej Kapolka 2007-07-03 22:03:02 +00:00
  • 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. Ray Greenwell 2007-07-02 20:33:59 +00:00
  • 8022af7815 Implement ElementUpdateListener for ObjectRecord so calls to set*At on arrays on ConfigObjects update the config db as well as set* Charlie Groves 2007-06-29 20:40:56 +00:00
  • 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. Michael Bayne 2007-06-28 21:42:41 +00:00
  • 87c5bbcd59 Added getPath(). Ray Greenwell 2007-06-26 23:07:42 +00:00
  • 3b701ef57d Tabs -> spaces Dave Hoover 2007-06-26 00:07:36 +00:00
  • 8aadcfe757 Some little tidying. Michael Bayne 2007-06-19 01:05:05 +00:00
  • a6a6af8e99 Fix some niggling oid translation problems. Michael Bayne 2007-06-19 01:03:48 +00:00
  • 860c682585 Implemented transactions in actionscript. Ray Greenwell 2007-06-18 19:27:13 +00:00
  • 20e70a9735 Log the registration and clearing of proxied object as we're seeing some strangeness in production on Bang. Michael Bayne 2007-06-15 16:44:09 +00:00
  • d1313d2296 Let the server delay shutting certain things down until it knows that the invoker and dobj threads are well and truly finished. Michael Bayne 2007-06-15 00:03:31 +00:00
  • 1bfa35515d Actually do keyword substitution on those freshly headered files. Dave Hoover 2007-06-14 18:19:38 +00:00
  • 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. Michael Bayne 2007-06-14 18:15:02 +00:00
  • b7cfe7cf81 Headerification. Michael Bayne 2007-06-14 17:40:52 +00:00
  • d59811b8cc Added bytesToString() and stringToBytes(). Ray Greenwell 2007-06-14 01:07:04 +00:00
  • 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. Michael Bayne 2007-06-13 23:36:25 +00:00
  • 2fa6146d93 Have CompoundEvent handle propagating setTargetOid() to its internal events and clean things up for the callers. Michael Bayne 2007-06-13 23:15:20 +00:00
  • 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. Michael Bayne 2007-06-13 22:41:41 +00:00
  • 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. Michael Bayne 2007-06-13 22:37:53 +00:00
  • 097a53e534 Don't try to register HUP on Windows because it fails. Michael Bayne 2007-06-13 18:31:15 +00:00
  • 6db6eef7e1 Close our bound socket when the connection manager is shutdown. New-styled logging. Michael Bayne 2007-06-13 17:48:42 +00:00
  • 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. Ray Greenwell 2007-06-04 22:00:48 +00:00
  • 5f0ffa11d4 Fix the docs link. Jonathan Le Plastrier 2007-05-30 22:26:24 +00:00
  • fed8aceae5 Use StringUtil.parseInteger. Ray Greenwell 2007-05-25 21:19:50 +00:00
  • df27e347f0 Created parseInteger() as a replacement for the built-in parseInt(), which parses a String like " 7pigs" as the value 7. Ray Greenwell 2007-05-25 21:19:31 +00:00
  • 32740e654a Fixed numeric key-modifying lookups. Ray Greenwell 2007-05-25 20:06:11 +00:00
  • cef7e14583 Tracked down the bug that was causing some composed translations to come out as "mmmmmmmmmmmmmmmmmmmmmm". Ray Greenwell 2007-05-25 19:42:03 +00:00
  • 8b85e8a940 Allow de-capitalizing to be turned off by subclasses. Ray Greenwell 2007-05-25 18:16:32 +00:00
  • 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. Ray Greenwell 2007-05-23 21:21:06 +00:00
  • 8206753188 A we bit of (not so) new logging world order conversion. Michael Bayne 2007-05-23 18:40:15 +00:00
  • 17e36673d0 Beans, frank! Michael Bayne 2007-05-18 23:23:13 +00:00
  • f2e1d94e7a Comment fix. Ray Greenwell 2007-05-18 04:51:44 +00:00
  • 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. Michael Bayne 2007-05-18 03:37:14 +00:00
  • db3fe80e9d No need for that variable. Michael Bayne 2007-05-18 02:47:25 +00:00
  • 0c90344e6b Widened, added a workaround for a "doesn't actually break anything and is too complex to properly fix right now" bug. Michael Bayne 2007-05-18 02:46:47 +00:00
  • 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. Michael Bayne 2007-05-15 00:27:07 +00:00
  • d9f76c98fd Some of the widening. Michael Bayne 2007-05-15 00:26:27 +00:00
  • 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. Michael Bayne 2007-05-14 21:36:58 +00:00
  • 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. Ray Greenwell 2007-05-14 20:47:33 +00:00
  • d9eaa65c23 add @Override to getReceiverCode and dispatchNotification so running genreceiver doesn't step all over Dave's auto @Override adder Charlie Groves 2007-05-11 18:54:25 +00:00
  • 01b43deb6e Line -> LineSegment Nathan Curtis 2007-05-10 22:00:24 +00:00
  • 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. Michael Bayne 2007-05-09 21:52:47 +00:00
  • 84855f8fe0 Enhanced debuggery, reenabled new streaming bits because now they should really really work. Michael Bayne 2007-05-09 01:17:13 +00:00
  • 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). Michael Bayne 2007-05-09 01:15:28 +00:00
  • 66a4151c86 More problems! Michael Bayne 2007-05-09 01:02:11 +00:00
  • 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. Ray Greenwell 2007-05-09 00:26:14 +00:00
  • 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. Michael Bayne 2007-05-09 00:20:35 +00:00
  • 0cba1203c9 implement equalable Nathan Curtis 2007-05-09 00:02:36 +00:00
  • dcffc5f54d Disable this for now until the instrumented methods are working properly. Michael Bayne 2007-05-07 20:47:53 +00:00
  • ef384f2a95 Streamables show up all over the place in Narya. Michael Bayne 2007-05-07 19:57:41 +00:00
  • 9e0babe2e1 We need the fully qualified class name. Michael Bayne 2007-05-07 19:50:05 +00:00
  • 4c73734afb Well pants, we can't not build the instrumentation code because we want to run it on Narya itself and there's no way to say "only execute this task if the supplied condition is met" without bringing in extra bullshit from ant-contrib which I really don't want to do. Michael Bayne 2007-05-07 19:24:35 +00:00
  • 2afd7b2e29 Let's actually use them fancy little methods. Michael Bayne 2007-05-07 19:19:33 +00:00
  • 8df35549df Only build the instrumenter if we have the necessary dependencies. Michael Bayne 2007-05-07 19:19:20 +00:00
  • dac3462f20 Sneaky sneaky. Michael Bayne 2007-05-07 18:59:58 +00:00
  • 47273749c8 New plan! We now post-process our class files and add individual public reader and writer methods for private and protected fields. This will allow us to preserve the current read and write ordering and in the future when we "fix" read and write ordering, we won't be fucked by a bunch of generated methods that force the ordering. (Someone is using Presents on the CLR which turns out to take advantage of the loose specification of Class.getDeclaredFields() and not return them in declaration order, yay!). Michael Bayne 2007-05-07 18:59:42 +00:00
  • df9f13afa6 Move libs-incl.xml into etc. Michael Bayne 2007-05-06 00:34:06 +00:00
  • ae1e7dc4a8 Scratch that. The plot is thicker. I'll have to take the pain to support mixed readObject()/no-readObject() havers otherwise everyone everywhere will have to generate streamer methods which is way too big a PITA. Grumble. Michael Bayne 2007-05-04 22:25:41 +00:00
  • a60a71552a Generated readObject()/writeObject(), widened some things along the way. Michael Bayne 2007-05-04 22:17:41 +00:00
  • ea8bf25c0a Some fiddling to handle classes that extend SimpleStreamableObject. Michael Bayne 2007-05-04 22:17:24 +00:00
  • 1ec22804da Oops, we need to do things a little differently. Michael Bayne 2007-05-04 22:08:04 +00:00
  • 410d85d49d A task to generate readObject() and writeObject() for Streamable classes (for use in non-sandboxed environments). Unfortunately we have to do this for all Streamable classes, not just the ones that have protected/private members because we need to be able to call super.readObject() and have that exist even if our superclass contains only public members. Michael Bayne 2007-05-04 22:04:50 +00:00
  • 77fef0c22e Factored management of "generated fields" and "generated methods" blocks into a utility class. Michael Bayne 2007-05-04 22:02:31 +00:00
  • 3036bcb70d Widening. Michael Bayne 2007-05-04 22:02:03 +00:00
  • 63c5449b00 Widening. Michael Bayne 2007-05-04 22:01:48 +00:00
  • 64da3b6229 Widening. Michael Bayne 2007-05-04 22:01:32 +00:00
  • 4d455eb6e6 _usermap is referenced by both the conmgr and dobjmgr threads, so access to it must be synchronized. Michael Bayne 2007-05-04 02:25:03 +00:00
  • 69485a88ee Widened, fixed documentation and nixed unneeded runnable posting for clientSessionDidEnd() which is called on the dobjmgr thread directly. Michael Bayne 2007-05-04 02:11:33 +00:00
  • bd8ad47153 Need a toString() here too. Michael Bayne 2007-05-03 22:56:54 +00:00
  • 5acc2b767a implement toString Nathan Curtis 2007-05-03 20:38:21 +00:00
  • 80f242616e Final refactor bits. Michael Bayne 2007-05-01 22:42:22 +00:00
  • 1a3eac323d - Have Controller use the CommandEvent callback dispatch stuff once the controller has located the appropriate function. - If the arg for a command or callback is an array, assume those are the parameters for the function. If you desire passing a single array argument, you've got to wrap it in another array, otherwise single args will be automatically wrapped for you. Ray Greenwell 2007-05-01 22:17:20 +00:00