move Map creation into default constructor so we don't waste object creation when the non-default constructor is used

patch by jbellis

git-svn-id: https://svn.apache.org/repos/asf/incubator/cassandra/trunk@809001 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Jonathan Ellis 2009-08-28 19:33:05 +00:00
parent ac921c44d3
commit 8c3693c6b0
1 changed files with 7 additions and 4 deletions

View File

@ -28,24 +28,27 @@ import org.apache.cassandra.net.EndPoint;
public class TokenMetadata
{
/* Maintains token to endpoint map of every node in the cluster. */
private Map<Token, EndPoint> tokenToEndPointMap_ = new HashMap<Token, EndPoint>();
private Map<Token, EndPoint> tokenToEndPointMap_;
/* Maintains a reverse index of endpoint to token in the cluster. */
private Map<EndPoint, Token> endPointToTokenMap_ = new HashMap<EndPoint, Token>();
private Map<EndPoint, Token> endPointToTokenMap_;
/* Bootstrapping nodes and their tokens */
private Map<Token, EndPoint> bootstrapNodes = Collections.synchronizedMap(new HashMap<Token, EndPoint>());
private Map<Token, EndPoint> bootstrapNodes;
/* Use this lock for manipulating the token map */
private final ReadWriteLock lock_ = new ReentrantReadWriteLock(true);
public TokenMetadata()
{
tokenToEndPointMap_ = new HashMap<Token, EndPoint>();
endPointToTokenMap_ = new HashMap<EndPoint, Token>();
this.bootstrapNodes = Collections.synchronizedMap(new HashMap<Token, EndPoint>());
}
public TokenMetadata(Map<Token, EndPoint> tokenToEndPointMap, Map<EndPoint, Token> endPointToTokenMap, Map<Token, EndPoint> bootstrapNodes)
{
tokenToEndPointMap_ = tokenToEndPointMap;
endPointToTokenMap_ = endPointToTokenMap;
this.bootstrapNodes = bootstrapNodes;
this.bootstrapNodes = bootstrapNodes;
}
public TokenMetadata cloneMe()