Commit Graph

  • 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
  • d86971592a Use the rolling variance calculation from http://en.wikipedia.org/wiki/Algorithms_for_calculating_variance#On-line_algorithm as whatever one is in here currently was getting out of whack in biteme Charlie Groves 2010-01-22 02:46:06 +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