Commit Graph

175 Commits

Author SHA1 Message Date
ade33a9e58 GOSSIP-55 Added event handlers to notify share data and per node data changes 2017-06-20 18:17:07 +05:30
9c9d96e564 GOSSIP-86 Examples in separate module - Added Readme. 2017-06-05 08:21:46 -04:00
c62ebaf9b6 GOSSIP-85 Factor out PassiveGossipThread 2017-05-03 16:57:50 -04:00
e3010c8542 GOSSIP-81 Move Jackson and UDP to their own modules
Part of what makes this work is the test implementation of TransportManager.

This PR is pretty straightforward. A few gotchas though:
* A message signing test was moved into `JacksonTests` because that is
  where the signing actually happens.
* A CRDT serializing test was moved there as well. It's the best place
  for now.
* No UDP tests at all. I plan to fix that in a bit. Reasoning is that it is
  difficult to test any TransportManager implementation without bring up
  a full stack. I plan to address this in the future (GOSSIP-83).
* Simple round trip Jackson serialization tests.
2017-04-21 08:47:31 -05:00
851cd93e67 GOSSIP-79 Isolate UDP and JSON code
With these changes, it should now be possible to create alternate serialization (e.g. Gson or native) and transports (like HTTP).

To make this PR reviewable I decided against creating new modules right now. That can be done subsequently in another PR that doesn't modify any code.

* Creates two new interfaces: `TransportManager` and `ProtocolManager`
  * Implementation classes must honor a common constructor interface
* Includes UDP and Jackson implementations of those.
* `AbstractTransportManager` has a lot of boilerplate that includes:
  * starting the active gossiper, and
  * starting the passive gossiper.

I spent some time trying to polish the implementations to become less dependent on references to `GossipManager`. I still feel there is a lot of room for improvement.
2017-04-19 09:32:58 -05:00
c544b8bf16 GOSSIP-80 Sundry cleanups
* remove redundant parameter from method call.
* remove uncessary threadpool.
* Simplify `GossipCore.sendOneWay()`
* Cleanup useage of `MessageInvoker`
  * `DefaultMessageInvoker` replaced by a factory
  * `MessageInvokerCombiner` replaced by same factory
  * Alter `MessageInvokerTest` to not rely on specific types
  * Remove type assertion from `GossipManagerBuilderTest`
* Merge `MessageInvoker` with `MessageHandler`
  * This required changing method signature return type from `void` to `boolean`.
2017-04-17 10:54:24 -05:00
298b1ae3ae GOSSIP-78 refactor into a multi-module maven project
* add *.ipr to .gitignore
* modify existing pom to be a parent. create new pom for gossip-core.
* I left all properties and dependencies in the parent, as they seemed to be a fairly general set of dependencies.
move all the code.
* rename parent module: gossip -> gossip-parent
* move dependencies into child module
2017-04-13 10:12:23 -05:00
6a4d50cae7 GOSSIP-77 better send() 2017-03-20 22:04:07 -04:00
4aafc3ba3b GOSSIP-74 Phi calculation or sampling is wrong in FailureDetector 2017-03-19 22:20:38 -04:00
0136dd9395 GOSSIP-49 Refactor Failure detector Lambda into named class 2017-03-16 18:14:04 +03:00
4eafd58ecc GOSSIP-73 gcounter to example app 2017-03-10 18:57:51 -05:00
2622248e7b GOSSIP-63 merge cleanup 2017-03-10 11:10:31 -05:00
19662d1500 GOSSIP-72 rebase on trunk 2017-03-10 07:39:36 -05:00
bcd10510ee Merge branch 'GOSSIP-46' of https://github.com/edwardcapriolo/incubator-gossip 2017-03-10 07:23:58 -05:00
da1aba9c71 GOSSIP-63 Added CRDT G-Counter implementation 2017-03-09 13:44:49 +05:30
5199821980 GOSSIP-46 Refactor away GossipService cleaner better class names 2017-03-06 17:30:19 -05:00
dc0c727c2c GOSSIP-72 Generate keys directory in target 2017-03-06 14:00:07 -05:00
17551c8817 [maven-release-plugin] prepare for next development iteration 2017-03-03 10:22:39 -05:00
d5fe9f96c8 [maven-release-plugin] prepare release gossip-0.1.2-incubating 2017-03-03 10:22:29 -05:00
22b9e756d4 GOSSIP-71 not merging correctly (egc & maxim) 2017-03-01 14:27:34 -05:00
026b8bb488 GOSSIP-59 OrSet implementation 2017-02-26 13:54:55 -05:00
b71be5e16a GOSSIP-53 CRDT types 2017-02-19 16:14:30 -05:00
400cb40cba GOSSIP-58 Minor cleanups 2017-02-17 00:46:17 -05:00
2133cb0549 GOSSIP-56 GossipCore should allow registration of handlers
MessageInvoker idea. Returns true when it managed to invoke one of
handlers. User can build any structure of handlers.
See tests: MessageInvokerTest.
2017-02-17 05:04:08 +03:00
7106cc400a GOSSIP-47 sign data 2017-02-11 21:11:19 -05:00
21a263b079 GOSSIP-52 use one object mapper application wide 2017-02-08 17:58:42 -05:00
296b55fa9f GOSSIP-48 user shutdown message 2017-02-06 22:59:40 -05:00
32c082a0cb GOSSIP-36 Persist ring state 2017-01-31 23:38:33 -05:00
3f1882fbcf GOSSIP-39 User Defined Active Gossip (review by Dorian Ellerbe) 2017-01-27 01:34:08 -05:00
b2af449074 GOSSIP-44 Remove 4 byte header 2017-01-20 22:45:57 -05:00
428c0573fb GOSSIP-42 Use normal or expo distributions 2017-01-17 22:59:07 -05:00
78c9ae55a6 Missing header in test file rat plugin angry 2017-01-16 10:16:13 -05:00
7af6b677e8 GOSSIP-43 cleanup sockets, readme, and use lambdas 2017-01-15 16:01:43 -05:00
9487b8c223 GOSSIP-17 Add metrics (Chandresh Pancholi via egc) 2017-01-14 22:18:33 -05:00
bc96cf6d34 GOSSIP-40 bad hashcode (Lai Donglin via EGC) 2017-01-13 17:31:02 -05:00
4f4c15cb07 Merge branch 'master' of https://github.com/goby/incubator-gossip 2017-01-13 17:26:16 -05:00
f56d282d30 GOSSIP-22 New failure detector 2017-01-11 22:01:46 -05:00
62eb09a1dc GOSSIP-40: fix GossipMember hash code bug 2017-01-10 16:30:10 +08:00
18c9f911d1 GOSSIP-31 Changes to readme (Rishabh Patel via EGC) 2017-01-04 20:30:53 -05:00
6720f35beb [maven-release-plugin] prepare for next development iteration 2017-01-03 15:25:29 -05:00
042b26f632 Update javadoc error 2017-01-03 15:24:39 -05:00
00a2c78832 [maven-release-plugin] prepare release gossip-0.1.1-incubating 2017-01-03 15:21:25 -05:00
33e54e4e8f Reset pom version 2017-01-03 15:04:04 -05:00
dd2024ec65 Merge branch 'master' of http://git.apache.org/incubator-gossip 2017-01-03 14:59:21 -05:00
0bdf2f6920 GOSSIP-34 remove json that makes ASF sad 2017-01-03 14:12:21 -05:00
7413387041 [maven-release-plugin] prepare for next development iteration 2016-12-11 12:31:28 -05:00
80cd29ba01 [maven-release-plugin] prepare release gossip-0.1.1-incubating 2016-12-11 12:31:18 -05:00
be28494a9f Merge master 2016-11-25 08:43:09 -05:00
f1935beb6a Merge branch 'GOSSIP-33' of https://github.com/edwardcapriolo/incubator-gossip 2016-11-25 08:36:52 -05:00
c873ecf845 GOSSIP-33 Run rat on all installs 2016-11-24 11:20:01 -05:00