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
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
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