@@ -21,30 +21,52 @@ public ConsistentHashDataNode(T data){
2121 }
2222}
2323
24- class Server {
24+ class Server < T > extends ConsistentHashDataNode < T > {
2525 String id , ip , contry ;
26- public Server (String id , String ip , String contry ){
26+ public Server (String id , String ip , String contry , T serverMetaData ){
27+ super (serverMetaData );
2728 this .id = id ;
2829 this .ip = ip ;
29- this .contry = contry ;
30+ this .contry = contry ;
3031 }
3132}
3233
3334class ConsistentHashing <T > {
3435
35- private TreeMap <Long , T > nodeMap ;
36+ private TreeMap <Long , T > circle ;
3637 private Map <T , List <String >> nodeListMap ;
3738 private int noOfAliasForEachServer ;
38-
39+
40+ public ConsistentHashing (int noOfAliasForEachServer ){
41+ this .noOfAliasForEachServer = noOfAliasForEachServer ;
42+ circle = new TreeMap <Long , T >();
43+ nodeListMap = new HashMap <T , List <String >>();
44+ }
45+
46+ void put (T key , ConsistentHashDataNode value ){
47+
48+ }
49+
50+ void putAll (List <ConsistentHashDataNode <T >> dataNodes ){
51+ for (ConsistentHashDataNode <T > dataNode : dataNodes ){
52+ // put(server.data, server);
53+ }
54+ }
3955 public static void main (String ... args ){
4056 try {
41- List <Server > servers = new LinkedList <>();
42- for (int i = 0 ; i < 4 ; i ++)servers .add (new Server ("server-id-" +i , "109.105.110.5" +i , "India" ));
57+ ConsistentHashing <ConsistentHashDataNode <String >> cHash = new ConsistentHashing <>(5 );
58+
59+ List <ConsistentHashDataNode <String >> servers = new LinkedList <>();
60+ for (int i = 0 ; i < 4 ; i ++){
61+ servers .add (new Server <String >("server-id-" +i , "109.105.110.5" +i , "India" , "server-metadata : id: " +i +" , region : IN/Asia" ));
62+ }
4363
44- List <ConsistentHashDataNode <Integer >> data = new LinkedList <>();
45- for (int i = 0 ; i < 50 ; i ++)data .add (new ConsistentHashDataNode <Integer >(i ));
64+ List <ConsistentHashDataNode <String >> data = new LinkedList <>();
65+ for (int i = 0 ; i < 50 ; i ++){
66+ data .add (new ConsistentHashDataNode <String >("data-node-" +i ));
67+ }
68+
4669
47- ConsistentHashing cHash = new ConsistentHashing ();
4870
4971
5072 }catch (RuntimeException ex ){
0 commit comments