Let's make the Lifecycle a bit more abstract and decouple it from all the

server business. I'd move the whole kit and kaboodle to samskivert but that
would mean moving the DependencyGraph as well...


git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5804 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
Michael Bayne
2009-05-27 19:09:47 +00:00
parent d855eb184a
commit e87c86dc2c
12 changed files with 81 additions and 87 deletions
@@ -35,6 +35,7 @@ import com.samskivert.util.ArrayIntSet;
import com.samskivert.util.IntSet;
import com.samskivert.util.Interval;
import com.threerings.util.Lifecycle;
import com.threerings.util.Name;
import com.threerings.presents.annotation.AnyThread;
@@ -43,7 +44,6 @@ import com.threerings.presents.peer.data.ClientInfo;
import com.threerings.presents.peer.data.NodeObject;
import com.threerings.presents.peer.server.PeerManager;
import com.threerings.presents.server.InvocationManager;
import com.threerings.presents.server.LifecycleManager;
import com.threerings.presents.server.PresentsDObjectMgr;
import com.threerings.crowd.chat.data.ChatChannel;
@@ -62,7 +62,7 @@ import static com.threerings.crowd.Log.log;
*/
@Singleton
public abstract class ChatChannelManager
implements ChannelSpeakProvider, LifecycleManager.ShutdownComponent
implements ChannelSpeakProvider, Lifecycle.ShutdownComponent
{
/**
* When a body becomes a member of a channel, this method should be called so that any server
@@ -114,7 +114,7 @@ public abstract class ChatChannelManager
});
}
// from interface LifecycleManager.Shutdowner
// from interface Lifecycle.Shutdowner
public void shutdown ()
{
// stop our channel closer; always be closing... except now
@@ -126,10 +126,10 @@ public abstract class ChatChannelManager
* Creates our singleton manager and registers our invocation service.
*/
@Inject protected ChatChannelManager (PresentsDObjectMgr omgr, InvocationManager invmgr,
LifecycleManager lifemgr)
Lifecycle cycle)
{
invmgr.registerDispatcher(new ChannelSpeakDispatcher(this), CrowdCodes.CROWD_GROUP);
lifemgr.addComponent(this);
cycle.addComponent(this);
// create and start our idle channel closer (always be closing)
_closer = new Interval(omgr) {