bf34448cdb
Grumble, allow Java5 its stingy @Override semantics.
Par Winzell
2010-06-23 21:47:52 +00:00
b6228a0dfe
There was already existing support for executing a NodeAction on all peers; this extends such support to NodeRequests, which have the additional property of taking a Listener, and thus being able to wait for the request to finish. For multiple peers, the requests are processed in parallel. If all the requests finish executing without error, the function reports success. If at least one node reports failure, so does the function.
Par Winzell
2010-06-23 21:29:02 +00:00
6971ce7d4d
There's no reason to demand an IntSet here.
Par Winzell
2010-06-22 15:19:59 +00:00
12578d8810
Gotta be symmetric with readField
Charlie Groves
2010-06-22 03:16:23 +00:00
2268aae388
Handle primitive arrays
Charlie Groves
2010-06-22 03:04:53 +00:00
3b266edcd6
That should be private.
Dave Hoover
2010-06-18 23:40:16 +00:00
c54c82da55
Slay some cyclopian variables.
Dave Hoover
2010-06-15 17:26:29 +00:00
9b1624ced6
Whitespace
Dave Hoover
2010-06-15 17:26:27 +00:00
0583a92100
Speeling
Dave Hoover
2010-06-15 17:26:26 +00:00
5a02c42c21
Use our standard loop idioms.
Michael Bayne
2010-06-14 23:30:47 +00:00
129023182c
Remove WeakListenerWrapper in favor of simply storing the WeakReference directly in the array.
Andrzej Kapolka
2010-06-14 20:12:16 +00:00
06a7d265a7
Simplify the API by using a parameter to control whether we retain a weak or strong reference to the listener.
Andrzej Kapolka
2010-06-13 02:36:16 +00:00
852c66497e
Allow adding/removing listeners by weak reference so as not to prevent garbage collection.
Andrzej Kapolka
2010-06-12 01:15:22 +00:00
b072941003
Whitespace
Dave Hoover
2010-06-11 22:57:20 +00:00
1f292a5184
Fix syntax
Dave Hoover
2010-06-11 22:57:19 +00:00
22d586dc89
Use aspirin.swc. Removed corelib and ooolib (aspirin) from our included libraries. That ain't right. But they were also in the external libraries and that seems to have been what was happening.
Ray Greenwell
2010-06-09 20:47:49 +00:00
d7e5d3cf85
Broke out the places where we actually read from/write to the channels into separate methods so that we can override them to do crazy stuff like simulate latency/dropped packets for debugging.
Andrzej Kapolka
2010-06-09 03:27:27 +00:00
079269a825
Handle short[]'s on the actionscript side of streaming. This gets a little ugly given the lack of a primitive short on the actionscript side...
Mike Thomas
2010-06-08 01:37:08 +00:00
7101012413
A new type of general communication between peers - the NodeRequest - it's a lot like a NodeAction but produces a result which is sent back via the ResultListener.
Mike Thomas
2010-06-01 23:48:50 +00:00
3c2c86da60
Use the InetAddress obtained for the TCP socket for the datagram channel as well, instead of re-resolving the hostname. This is because we plan to use round-robin resolution for the game server, and I don't want to chance getting different IPs for TCP and UDP.
Andrzej Kapolka
2010-05-28 23:12:17 +00:00
f7a828e0c4
Move this convenience method up here to the ClientObject because it's... well... convenient.
Mike Thomas
2010-05-27 20:29:12 +00:00
4ab52e1c1e
Pull in imports from added methods and fields, and kill the extra space between fields
Charlie Groves
2010-05-11 22:05:09 +00:00
9043e99f7a
Separated TCP and UDP bind hostnames (we want to be able to bind to the wildcard address for TCP in order to accept connections on both the public hostname and the internal hostname used for peers, but bind to the public hostname for UDP because binding to the wildcard address seems to cause problems receiving packets).
Andrzej Kapolka
2010-05-07 01:12:55 +00:00
45694bc0f0
This ActionScript constructor generator doesn't seem particularly useful, since it requires the developer to fill in the body
Tom Conkling
2010-05-01 02:40:29 +00:00
f2f88f5e3c
Get rid of debugging code
Tom Conkling
2010-05-01 02:37:31 +00:00
f4bc4a2680
- Properly parse out ActionScript member variables, and insert them back into the generated code - Eclipse keeps rejiggering my imports
Tom Conkling
2010-05-01 02:35:39 +00:00
98b63122d4
Properly handle getter and setter methods
Tom Conkling
2010-05-01 00:38:34 +00:00
50fb782b03
Slightly scary change, but this makes Name more "correct" - Since equals() cares about the class of the Name and not just the normal string, make compareTo() care about that too. I've set it up so that the specific class of the Name has priority in the sort and thus all the "BuildingName" entries will group together.
Mike Thomas
2010-04-27 01:03:33 +00:00
401e71fa51
Nixed this commented out alternate code.
Ray Greenwell
2010-04-20 21:00:20 +00:00
19b6edcc98
Fix service generation for classes that use java.lang.Integer. Some day I will clean this up and fix the big TODO. It probably isn't actually that hard now I know more.
Jamie Doornbos
2010-04-19 18:58:54 +00:00
406344529a
Updated deprecated usage. Added alternate implementation in comments. One copies the array, the other creates two wrapper Lists.
Ray Greenwell
2010-04-13 21:00:52 +00:00
6fe5ae9238
Include jar for JSR-250
Dave Hoover
2010-04-08 21:24:35 +00:00
b34cf47668
Whoops.
Ray Greenwell
2010-04-07 21:24:06 +00:00
2f855ff35e
When generating dobj files, add or remove the Generated import depending on whether we need it.
Ray Greenwell
2010-04-07 21:22:53 +00:00
4b61decebb
Remove trailing whitespace/unused imports
Dave Hoover
2010-04-07 20:32:47 +00:00
fefff841c3
Fix typoo
Dave Hoover
2010-04-07 20:32:46 +00:00
528a9d1f66
@Generated, going stag (without a date).
Ray Greenwell
2010-04-07 16:12:43 +00:00
4496ec9ae4
Mdb dislikes the date and points out that our tasks regenerate these files every time, so it'll get in the way of version control. Mrmph. So: make the date optional, and leave it out for now.
Ray Greenwell
2010-04-07 16:12:04 +00:00
43e556fb59
@Generated annotation.
Ray Greenwell
2010-04-07 05:33:54 +00:00
e5b45f2ef0
Add the @Generated annotation to Marshaller/Receiver classes and various dobj bits. The @Generated annotation is "@Documented" and retained at source only.
Ray Greenwell
2010-04-07 05:32:11 +00:00
d5d9b7f9ea
RootDObjectManager already implements RunQueue and Executor
Charlie Groves
2010-03-31 19:26:46 +00:00
bd6a35677a
Track datagrams received out of order and missed datagrams.
Andrzej Kapolka
2010-03-18 20:36:25 +00:00
5ecfff4bcb
Some types of DSet may be okay with larger sizes before warning, break out the cutoff so we can override.
Mike Thomas
2010-03-18 16:49:38 +00:00
7eb35b5dc1
Some code hygiene.
Michael Bayne
2010-03-16 23:57:28 +00:00
c77ff81160
Should be no harm in compiling against Guava instead of GC as they have the exact same API. So if you ship with GC instead of Guava, nothing will break.
Michael Bayne
2010-03-16 23:52:58 +00:00
772cda0a58
Should be no harm in compiling against Guava instead of GC as they have the exact same API. So if you ship with GC instead of Guava, nothing will break.
Michael Bayne
2010-03-16 23:52:54 +00:00
90a6d78a3c
Revert. We'll roll something together when Zell's not trying to release.
Ray Greenwell
2010-02-22 20:26:31 +00:00
90ff35b3a0
In theory, this should work as well to read strings. It could be more effecient w/r/t generating garbage.
Ray Greenwell
2010-02-22 20:03:45 +00:00
42dbe1e11d
Java's built-in read/writeUTF() methods in ObjectInput/OutputStream use 'Modified UTF-8' for its encoding, which is cleverly designed to be almost exactly like UTF-8, until it's not and it bites you in the behind. Two new methods read/writeUnmodifiedUTF() may be used when real UTF-8 is required. At the current time Narya provides no further wiring-in of this functionality. See Whirled for a brilliant hack that does make use of it.
Par Winzell
2010-02-22 14:12:50 +00:00
cbaa8e480e
Using finalizers like this is a bad idea. I did this years ago. At least call super() in a finally block, but I'll see if this can be cleaned.
Ray Greenwell
2010-02-17 02:38:11 +00:00
83f71c606e
@Override gets the point across
Dave Hoover
2010-02-10 20:32:51 +00:00
3414612462
Nix unused imports
Dave Hoover
2010-02-10 20:32:49 +00:00
3aff1b60b9
Pngcrush
Dave Hoover
2010-02-10 20:32:44 +00:00
0b90f21fe3
No need for this null check. We already dereferenced _client earlier to obtain our connection id.
Michael Bayne
2010-02-09 19:55:22 +00:00
c7ac36ac51
This is dubious. We define an _omgr that shadows super._omgr, assign it in our constructor and then never use it. This is almost a noop, except that ClientDObjectMgr registers and starts a flusher interval that will never be shutdown. Since ServerCommunicator lives for the lifetime of the server, this has not caused problems.
Michael Bayne
2010-02-09 19:54:15 +00:00
f9524a1a9e
PeerManager already injects an InvocationManager.
Michael Bayne
2010-02-09 19:51:44 +00:00
ca3d96920a
Generics
Dave Hoover
2010-02-04 23:06:14 +00:00
493352c933
A little explanatory commenting.
Mike Thomas
2010-02-04 22:30:58 +00:00
e206d26515
I've broken out how the FieldEditors access their data into a separate Accessor plugin. This way, we can replace the default DObjectAccessor with (for example) an accessor that deals with multiple DObjects simultaneously.
Mike Thomas
2010-02-04 22:22:49 +00:00
c326538c07
Regenerated: DSet's just clone() now.
Ray Greenwell
2010-02-04 21:49:00 +00:00
961fa75665
DSet.clone() has been modernized for a while now, rendering typedClone() pointless. Let's deprecate it and auto-generate DObjects that just use clone().
Ray Greenwell
2010-02-04 21:48:37 +00:00
3496da8b28
Cruft removal.
Ray Greenwell
2010-02-04 21:47:21 +00:00
38782be051
Publicize getSuffix.
Dave Hoover
2010-02-03 01:33:29 +00:00
49de1913d9
Whitespace
Dave Hoover
2010-02-03 01:06:50 +00:00
1420b06d3b
Clear the ThreadLocal after finishing with a method to keep from hanging onto the Stack and thereby the Stack's classloader from that thread
Charlie Groves
2010-01-28 23:12:27 +00:00
d8b59b64c9
Specify the last chat mode so that we can define new ones without fear of overlap.
Andrzej Kapolka
2010-01-28 21:10:33 +00:00
a996fe44a6
Turns out Double.MIN_VALUE is a completely different thing than Integer.MIN_VALUE
Charlie Groves
2010-01-26 22:47:20 +00:00
df356599fc
Don't complain if we didn't init our PeerManager; we don't do that if we're not running in a peered environment. Technically it might be better to add the PeerManager to the lifecycle in init, but I don't want to screw with the shutdown order, and this is the lowest-impact solution.
Andrzej Kapolka
2010-01-26 03:10:53 +00:00
be61ed2f50
Record min and max samples as well
Charlie Groves
2010-01-25 00:07:29 +00:00
c86c71d2f9
Creator is now just Function
Charlie Groves
2010-01-25 00:05:10 +00:00
9c92618773
Break the stat collection out from MethodProfiler, and use a calculating map from MapMaker to keep from needing to synchronize around profile access.
Charlie Groves
2010-01-22 03:53:25 +00:00
1926012bc5
Remove now spurious casts
Dave Hoover
2010-01-13 19:19:15 +00:00
c4d132b232
clone() modernization. Apologies for the redundant cast warnings this is sure to introduce.
Ray Greenwell
2010-01-13 18:19:48 +00:00
3954ec5153
Updated to call ObjectInputStream.readObject() and readField() the new way.
Ray Greenwell
2010-01-13 00:14:46 +00:00
4c009f7a5f
Simplify this, which was complexified so that it could avoid logging when posted to a shutdown queue. There's a method we can override for that now.
Ray Greenwell
2010-01-06 20:18:11 +00:00
e571cd9e70
I swear; sometime before 2011 I'll be done stumbling across ways my copyright updating missed things
Dave Hoover
2010-01-06 01:09:57 +00:00
29d99f655b
Moved to samskivert.
Ray Greenwell
2010-01-05 18:54:18 +00:00
9a5a43341f
Ditch these. They are a debugging tool that is rather primitive and not necessarily even useful. I have found that using finalizers seems to change how things get collected, even without doing any funny tricks. Besides, we can use good modern profilers nowadays.
Ray Greenwell
2010-01-04 23:19:17 +00:00
0a98e25304
Add a utility class for creating easy mappings from Charlie. Bumping this up from BiteMe because I'm also bumping BiteMe's Kontagent implementation into a more accessible place, and it relies on this class. Also, it can be pretty handy.
Nathan Curtis
2010-01-04 22:23:56 +00:00
fdf51a634a
Welcome to the future.
Dave Hoover
2010-01-04 21:47:46 +00:00
67e88e2df5
Fuck off with that inject.internal shit
Charlie Groves
2010-01-04 21:27:53 +00:00
2ba4d6a0d0
Wait to check if an interdependent invoker has posted back to the presents invoker until all the interdependents have indicated they're blocking to check. Otherwise the unit running before the last BlockingUnit can post to the presents invoker and those newly posted units will be skipped.
Charlie Groves
2009-12-29 07:44:09 +00:00
cb5aac620c
It looks very much to me like we were able to occasionally sneak by the checks and shutdown the omgr too early in the following condition: - PresentsInvoker decides it's empty - It waits on other dependencies - During the wait, something (probably from one of the other dependencies) posts to the PresentsInvoker - We loop back around, the dependencies are empty - We end early, with the posted bit still to be done...
Mike Thomas
2009-12-23 19:58:34 +00:00
6ab0c7c95e
As Charlie points out, that makes more sense being abstract. Shame on me for copying NamedSetAdapter on autopilot; there you have multiple things that you might not want to bother with, but here you damned well BETTER implement that one method yourself.
Dave Hoover
2009-12-15 23:56:39 +00:00
9269d5b617
Much like NamedSetAdapter and NamedAttributeListener, I'd like to conveniently listen for ElementUpdatedEvents on specific bits on dobjs.
Dave Hoover
2009-12-15 23:38:06 +00:00
cd88ba7634
All Executors, all the time.
Ray Greenwell
2009-12-08 19:58:55 +00:00
fc77b1bb0b
Prefer Executor over RunQueue...
Ray Greenwell
2009-12-08 19:05:06 +00:00
f546167ca7
RootDObjectManager (PresentsDObjectMgr) implements Executor.
Ray Greenwell
2009-12-07 21:26:44 +00:00
72ce4370af
Fixed incorrect import. Luckily this suddenly started not compiling for me locally. But, bizarrely, it has been working on the build machine and at runtime since 11/09.
Jamie Doornbos
2009-11-30 17:24:45 +00:00
ded9f02350
This is not that interesting.
Andrzej Kapolka
2009-11-13 20:54:20 +00:00
f3e5682f8c
Sometimes a short is still excessively long.
Dave Hoover
2009-11-12 21:38:10 +00:00
b65bfae2e3
recordToChatHistory(UserMessage, Name...) went away.
Dave Hoover
2009-11-10 18:49:13 +00:00
51dc6e65d7
Make build in 1.5
Dave Hoover
2009-11-10 03:57:38 +00:00
c71c2379fc
Oops, missed the boilerplate stuff for invocation service transmissable objecthood upon final multi-node testing in msoy.
Jamie Doornbos
2009-11-10 01:47:35 +00:00
fd7b3ae383
Method to poll all peers for chat history and asynchronously return the result.
Jamie Doornbos
2009-11-10 01:13:58 +00:00
90a21319f1
Expose the chat history between crowd peers.
Jamie Doornbos
2009-11-10 00:34:41 +00:00
5e6cf46926
Backtrack a bit for recording channel speaks to the history. Instead of weighing down UserMessage with extra stuff (there is a lot of infrastructure that seems intent on avoiding this), record the value only in the server's history by wrapping messages in a new value class.
Jamie Doornbos
2009-11-10 00:05:56 +00:00
09c7229fa6
Add channel-based communications to the chat history logs as well. This groud work for msoy issue 286, which has probably been around since the channel system was added.
Jamie Doornbos
2009-11-09 20:31:46 +00:00
6c65caeb1b
readField() also gets an untyped return type.
Ray Greenwell
2009-11-06 23:09:26 +00:00