Make the PeerManager and CrowdPeerManager abstract to ensure that a failure to
bind something to PeerManager.class will result in initialization failure. A system that uses the peer services needs to extend PeerManager or CrowdPeerManager with a concrete PeerManager and then bind(PeerManager.class).to(SomePeerManager.class) to properly satisfy the dependency. git-svn-id: svn+ssh://src.earth.threerings.net/narya/trunk@5171 542714f4-19e9-0310-aa3c-eee0fc999fb1
This commit is contained in:
@@ -22,7 +22,6 @@
|
||||
package com.threerings.crowd.peer.server;
|
||||
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Singleton;
|
||||
|
||||
import com.threerings.util.Name;
|
||||
|
||||
@@ -50,7 +49,6 @@ import com.threerings.crowd.peer.data.CrowdPeerMarshaller;
|
||||
/**
|
||||
* Extends the standard peer manager and bridges certain Crowd services.
|
||||
*/
|
||||
@Singleton
|
||||
public class CrowdPeerManager extends PeerManager
|
||||
implements CrowdPeerProvider, ChatProvider.ChatForwarder
|
||||
{
|
||||
|
||||
@@ -34,7 +34,6 @@ import java.util.List;
|
||||
|
||||
import com.google.common.collect.Maps;
|
||||
import com.google.inject.Inject;
|
||||
import com.google.inject.Singleton;
|
||||
|
||||
import com.samskivert.jdbc.RepositoryUnit;
|
||||
import com.samskivert.jdbc.WriteOnlyUnit;
|
||||
@@ -85,8 +84,7 @@ import static com.threerings.presents.Log.log;
|
||||
* client connection to the other servers and subscribes to the {@link NodeObject} of all peer
|
||||
* servers and uses those objects to communicate cross-node information.
|
||||
*/
|
||||
@Singleton
|
||||
public class PeerManager
|
||||
public abstract class PeerManager
|
||||
implements PeerProvider, ClientManager.ClientObserver, ShutdownManager.Shutdowner
|
||||
{
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user