Intermittent Tinkering
Island Forge June 7th. 2007, 10:33am
I've been intermittently tinkering with the code (darn this nice weather, darn it to heck). As with most of my childhood toys, I've been taking code apart and putting it back together, throwing away the inexplicable extra pieces. As a result, you'll find some things work better, while others are broken in entirely new ways.
For example, client-server connection handling is more stable. However, upon logging in, the world might not paint itself. How are these changes related? They're not, but timing issues are often flushed out of the brush when other things change.
Brief list of technical fixes:
- A crashed client should no longer take down the server... (but I've made that promise before)
- Client no longer operates in a busy loop -- completely event-triggered (better design, IMnsHO)
- Client almost shuts down cleanly (pesky AWT thread won't die); Server stops on a dime
- Although Server uses java.nio non-blocking channel output, it appears that one slow/dead client may delay packet sending to others (must not allow server output to stall, will use cached thread pool)
- See issue tracking system for more
Leave a Reply
You must be logged in to post a comment.













