Index: driver-core/src/main/java/com/datastax/driver/core/policies/gossip/Gossiper.java |
diff --git a/driver-core/src/main/java/com/datastax/driver/core/policies/gossip/Gossiper.java b/driver-core/src/main/java/com/datastax/driver/core/policies/gossip/Gossiper.java |
index 6a3ace0eb94b544debf1db2d86c9e09b77f38fba..690333a82dd6c68f36a25e9c23be935ce9e60b7c 100644 |
--- a/driver-core/src/main/java/com/datastax/driver/core/policies/gossip/Gossiper.java |
+++ b/driver-core/src/main/java/com/datastax/driver/core/policies/gossip/Gossiper.java |
@@ -37,9 +37,12 @@ public class Gossiper { |
private CollectionRateControllers crc = null; |
private GlobalView gview = null; |
+ /* This is how often Kurma exchanges load with other instances */ |
+ private int gossiping_frequency_ms; |
+ |
/** Create as a seed server **/ |
- public Gossiper(String bind_ip, int bind_port, DriverDescriptor descriptor) { |
- local_init(bind_ip, bind_port, descriptor); |
+ public Gossiper(String bind_ip, int bind_port, DriverDescriptor descriptor, int _gossiping_frequency_ms) { |
+ local_init(bind_ip, bind_port, descriptor, _gossiping_frequency_ms); |
// TODO: initial seed server connects to itself and sends updates to itself |
// perhaps we can do it in a better way |
@@ -48,10 +51,10 @@ public class Gossiper { |
/** Create as a client which needs to connect to a server **/ |
public Gossiper( |
- String bind_ip, int bind_port, DriverDescriptor descriptor, |
+ String bind_ip, int bind_port, DriverDescriptor descriptor, int _gossiping_frequency_ms, |
String seed_ip, int seed_port) { |
- local_init(bind_ip, bind_port, descriptor); |
+ local_init(bind_ip, bind_port, descriptor, _gossiping_frequency_ms); |
// We have been supplied seed_ip and seed_port, thus we are the ones who should |
// initiate the first connection to a remote seed and find out about all other |
@@ -59,9 +62,11 @@ public class Gossiper { |
connect_to_sever(seed_port, seed_ip, true); |
} |
- private void local_init(String bind_ip, int bind_port, DriverDescriptor descriptor) { |
+ private void local_init( |
+ String bind_ip, int bind_port, DriverDescriptor descriptor, int _gossiping_frequency_ms) { |
System.err.println(String.format("Constructing Gossiper %s", descriptor)); |
+ gossiping_frequency_ms = _gossiping_frequency_ms; |
local_descriptor = descriptor; |
peers.putIfAbsent(local_descriptor, new Socket()); |
@@ -97,7 +102,8 @@ public class Gossiper { |
Socket new_client_socket = seerver_socket.accept(); |
MiniServer mini = new MiniServer( |
- new_client_socket, local_descriptor, this_gossiper); |
+ new_client_socket, local_descriptor, |
+ this_gossiper, gossiping_frequency_ms); |
mini.start(); |
} |
seerver_socket.close(); |
@@ -164,7 +170,8 @@ public class Gossiper { |
ReentrantLock sending_lock = new ReentrantLock(); |
- MiniServer mini = new MiniServer(socket, local_descriptor, this, |
+ MiniServer mini = new MiniServer( |
+ socket, local_descriptor, this, gossiping_frequency_ms, |
seed_input_stream, seed_output_stream); |
mini.set_remote_descriptor(resp.get_senders_descriptor()); |
mini.start(); |