You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gossip.apache.org by ec...@apache.org on 2016/06/11 00:16:49 UTC
[12/12] incubator-gossip git commit: GOSSIP-2 merge
GOSSIP-2 merge
Project: http://git-wip-us.apache.org/repos/asf/incubator-gossip/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-gossip/commit/2c1dc437
Tree: http://git-wip-us.apache.org/repos/asf/incubator-gossip/tree/2c1dc437
Diff: http://git-wip-us.apache.org/repos/asf/incubator-gossip/diff/2c1dc437
Branch: refs/heads/master
Commit: 2c1dc4375bb1123334468488db72062546a9a9f2
Parents: 496f299 fe196cd
Author: Edward Capriolo <ed...@gmail.com>
Authored: Tue Jun 7 23:10:14 2016 -0400
Committer: Edward Capriolo <ed...@gmail.com>
Committed: Tue Jun 7 23:10:14 2016 -0400
----------------------------------------------------------------------
.../java/org/apache/gossip/GossipService.java | 3 +-
.../manager/random/RandomGossipManager.java | 72 +++++++++++++++++++-
.../manager/RandomGossipManagerBuilderTest.java | 16 ++---
3 files changed, 79 insertions(+), 12 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/2c1dc437/src/main/java/org/apache/gossip/GossipService.java
----------------------------------------------------------------------
diff --cc src/main/java/org/apache/gossip/GossipService.java
index 866dc03,cf727a8..b149719
--- a/src/main/java/org/apache/gossip/GossipService.java
+++ b/src/main/java/org/apache/gossip/GossipService.java
@@@ -63,8 -62,8 +63,7 @@@ public class GossipService
gossipManager = RandomGossipManager.newBuilder()
.withId(id)
.cluster(cluster)
-- .address(ipAddress)
-- .port(port)
++ .uri(uri)
.settings(settings)
.gossipMembers(gossipMembers)
.listener(listener)
http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/2c1dc437/src/main/java/org/apache/gossip/manager/random/RandomGossipManager.java
----------------------------------------------------------------------
diff --cc src/main/java/org/apache/gossip/manager/random/RandomGossipManager.java
index 7aa4435,d407d2a..1d2075e
--- a/src/main/java/org/apache/gossip/manager/random/RandomGossipManager.java
+++ b/src/main/java/org/apache/gossip/manager/random/RandomGossipManager.java
@@@ -23,13 -23,83 +23,81 @@@ import org.apache.gossip.event.GossipLi
import org.apache.gossip.manager.GossipManager;
import org.apache.gossip.manager.impl.OnlyProcessReceivedPassiveGossipThread;
+import java.net.URI;
+import java.util.List;
+
+ import java.util.ArrayList;
+ import java.util.List;
+
public class RandomGossipManager extends GossipManager {
- public RandomGossipManager(String cluster, URI uri, String id,
- GossipSettings settings, List<GossipMember> gossipMembers, GossipListener listener) {
+
+ public static ManagerBuilder newBuilder() {
+ return new ManagerBuilder();
+ }
+
+ public static final class ManagerBuilder {
+ private String cluster;
- private String address;
- private int port;
++ private URI uri;
+ private String id;
+ private GossipSettings settings;
+ private List<GossipMember> gossipMembers;
+ private GossipListener listener;
+
+ private ManagerBuilder() {}
+
+ private void checkArgument(boolean check, String msg) {
+ if (!check) {
+ throw new IllegalArgumentException(msg);
+ }
+ }
+
+ public ManagerBuilder cluster(String cluster) {
+ this.cluster = cluster;
+ return this;
+ }
+
- public ManagerBuilder address(String address) {
- this.address = address;
- return this;
- }
-
- public ManagerBuilder port(int port) {
- this.port = port;
- return this;
- }
-
+ public ManagerBuilder withId(String id) {
+ this.id = id;
+ return this;
+ }
+
+ public ManagerBuilder settings(GossipSettings settings) {
+ this.settings = settings;
+ return this;
+ }
+
+ public ManagerBuilder gossipMembers(List<GossipMember> members) {
+ this.gossipMembers = members;
+ return this;
+ }
+
+ public ManagerBuilder listener(GossipListener listener) {
+ this.listener = listener;
+ return this;
+ }
+
++ public ManagerBuilder uri(URI uri){
++ this.uri = uri;
++ return this;
++ }
++
+ public RandomGossipManager build() {
+ checkArgument(id != null, "You must specify an id");
+ checkArgument(cluster != null, "You must specify a cluster name");
+ checkArgument(settings != null, "You must specify gossip settings");
++ checkArgument(uri != null, "You must specify a uri");
+
+ if (this.gossipMembers == null) {
+ this.gossipMembers = new ArrayList<>();
+ }
+
- return new RandomGossipManager(cluster, address, port, id, settings, gossipMembers, listener);
++ return new RandomGossipManager(cluster, uri, id, settings, gossipMembers, listener);
+ }
+ }
+
- private RandomGossipManager(String cluster, String address, int port, String id,
- GossipSettings settings, List<GossipMember> gossipMembers, GossipListener listener) {
++ private RandomGossipManager(String cluster, URI uri, String id, GossipSettings settings,
++ List<GossipMember> gossipMembers, GossipListener listener) {
super(OnlyProcessReceivedPassiveGossipThread.class, RandomActiveGossipThread.class, cluster,
- address, port, id, settings, gossipMembers, listener);
+ uri, id, settings, gossipMembers, listener);
}
}
http://git-wip-us.apache.org/repos/asf/incubator-gossip/blob/2c1dc437/src/test/java/org/apache/gossip/manager/RandomGossipManagerBuilderTest.java
----------------------------------------------------------------------
diff --cc src/test/java/org/apache/gossip/manager/RandomGossipManagerBuilderTest.java
index 38b8ab4,38b8ab4..d753676
--- a/src/test/java/org/apache/gossip/manager/RandomGossipManagerBuilderTest.java
+++ b/src/test/java/org/apache/gossip/manager/RandomGossipManagerBuilderTest.java
@@@ -28,6 -28,6 +28,9 @@@ import org.junit.Test
import javax.management.Notification;
import javax.management.NotificationListener;
++
++import java.net.URI;
++import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.List;
@@@ -63,12 -63,12 +66,11 @@@ public class RandomGossipManagerBuilder
}
@Test
-- public void createMembersListIfNull() {
++ public void createMembersListIfNull() throws URISyntaxException {
RandomGossipManager gossipManager = RandomGossipManager.newBuilder()
.withId("id")
.cluster("aCluster")
-- .port(8080)
-- .address("localhost")
++ .uri(new URI("udp://localhost:2000"))
.settings(new GossipSettings())
.gossipMembers(null).build();
@@@ -76,19 -76,19 +78,17 @@@
}
@Test
-- public void useMemberListIfProvided() {
-- LocalGossipMember member = new LocalGossipMember("aCluster", "localhost", 2000, "aGossipMember",
++ public void useMemberListIfProvided() throws URISyntaxException {
++ LocalGossipMember member = new LocalGossipMember("aCluster", new URI("udp://localhost:2000"), "aGossipMember",
System.currentTimeMillis(), new TestNotificationListener(), 60000);
--
List<GossipMember> memberList = new ArrayList<>();
memberList.add(member);
--
RandomGossipManager gossipManager = RandomGossipManager.newBuilder()
.withId("id")
.cluster("aCluster")
.settings(new GossipSettings())
++ .uri(new URI("udp://localhost:8000"))
.gossipMembers(memberList).build();
--
Assert.assertEquals(1, gossipManager.getMemberList().size());
Assert.assertEquals(member.getId(), gossipManager.getMemberList().get(0).getId());
}