Commit Graph

38 Commits

Author SHA1 Message Date
Asias He
b811eb2ca2 gossip: Convert gms/FailureDetector.java to C++ 2015-03-10 16:13:59 +08:00
Asias He
2aaec04bb0 gossip: Import gms/FailureDetector.java 2015-03-10 16:04:24 +08:00
Asias He
3d323bd030 gossip: Return optional for get_endpoint_state_for_endpoint 2015-03-10 16:04:24 +08:00
Asias He
74b872f085 gossip: Convert gms/Gossiper.java to C++
Stub only.
2015-03-10 16:04:24 +08:00
Asias He
7e2d1b1fb5 gossip: Import gms/Gossiper.java 2015-03-10 16:04:24 +08:00
Asias He
41a20bde12 gossip: Add is_broadcast_address helper for inet_address 2015-03-10 15:11:36 +08:00
Asias He
00e3832daf gossip: Add inet_address(sstring) constructor 2015-03-10 10:11:33 +08:00
Asias He
7e8bc7d86b gossip: Convert gms/IFailureDetector.java to C++ 2015-03-09 21:44:16 +08:00
Asias He
986ceb3873 gossip: Import gms/IFailureDetector.java 2015-03-09 21:43:50 +08:00
Asias He
b335e953e7 gossip: Convert gms/IFailureDetectionEventListener.java to C++ 2015-03-09 21:43:48 +08:00
Asias He
54a5d636f1 gossip: Import gms/IFailureDetectionEventListener.java 2015-03-09 21:43:26 +08:00
Asias He
fdcc7e0bc1 gossip: Convert gms/IEndpointStateChangeSubscriber.java to C++ 2015-03-09 21:43:20 +08:00
Asias He
66d2429ee8 gossip: Import gms/IEndpointStateChangeSubscriber.java 2015-03-09 20:45:20 +08:00
Asias He
30f6f7cd21 gossip: Convert gms/TokenSerializer.java to C++ 2015-03-09 20:45:20 +08:00
Asias He
316209b217 gossip: Import gms/TokenSerializer.java 2015-03-09 20:45:20 +08:00
Asias He
3a8e8bca25 gossip: Convert gms/EndpointState.java to C++, #2 2015-03-09 20:45:20 +08:00
Asias He
818136cfd7 gossip: Add "operator<<" for class versioned_value
Will be used by class endpoint_state.
2015-03-09 20:45:20 +08:00
Asias He
457c78f6bd gossip: Convert gms/HeartBeatState.java to C++ 2015-03-09 20:45:19 +08:00
Asias He
59cd37cfa2 gossip: Import gms/HeartBeatState.java 2015-03-09 20:45:19 +08:00
Asias He
0839c6ba35 gossip: Convert gms/GossipDigestAck2.java to C++ 2015-03-09 20:45:19 +08:00
Asias He
ded6db5a19 gossip: Import gms/GossipDigestAck2.java 2015-03-09 09:32:08 +08:00
Asias He
1313116114 gossip: Convert gms/EndpointState.java to C++
Stub only.
2015-03-09 09:32:08 +08:00
Asias He
4ea4fc6687 gossip: Import gms/EndpointState.java 2015-03-09 09:32:08 +08:00
Asias He
c2052c8791 gossip: Convert to bytes_view for deserialization 2015-03-05 18:25:57 +08:00
Asias He
bac2966f66 gossip: Convert gms/GossipDigestAck.java to C++ 2015-03-05 17:08:15 +08:00
Asias He
83eb3f0063 gossip: Import gms/GossipDigestAck.java 2015-03-05 17:08:15 +08:00
Asias He
7e3b52844e gossip: Move gossip_digest_serialization_helper to gossip_digest.hh
It makes more sense to put the helper near class gossip_digest not class
gossip_digest_syn. The helper is used by class gossip_digest_ack as
well. The moving makes the including more clear.
2015-03-05 17:08:15 +08:00
Asias He
ad18cd582c gossip: Convert gms/GossipDigestSyn.java to C++ 2015-03-05 17:08:15 +08:00
Asias He
b1c630a524 gossip: Import gms/GossipDigestSyn.java 2015-03-05 17:08:15 +08:00
Asias He
443bc857a2 gossip: Convert gms/GossipDigest.java to C++ 2015-03-05 17:08:15 +08:00
Asias He
c63bccd81b gossip: Import gms/GossipDigest.java 2015-03-05 17:08:14 +08:00
Asias He
030ad0caba gossip: Add inet_address class
Currently it is used by gossip code only. If we have more users of it,
we can move it to a better place later.
2015-03-05 17:08:14 +08:00
Asias He
8e15ed452f gossip: Add gms/gms.cc 2015-03-04 16:08:10 +08:00
Asias He
d5f0ce2663 gossip: Add missing #pragma once 2015-03-04 15:51:35 +08:00
Nadav Har'El
65f8ee2e5c gossip: Convert gms/VersionedValue.java to C++
Left some of the stuff I got tired of converting in #if 0. Most likely
I'll need them later, and convert them then.

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
2015-03-04 15:48:58 +08:00
Asias He
9af0a2925f gossip: Import gms/VersionedValue.java 2015-03-04 15:47:03 +08:00
Nadav Har'El
3c74a5e15d gossip: convert ApplicationState to C++
The gossiped application state is a list of key/version pairs. The keys
come from the application_state enum in this patch.

This is a trivial conversion of the Java enum. It is possible we may need
to add more features to this enum class (Java enums have all sorts of weird
capabilities beyond C++ enums), but with any luck, we won't...

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
2015-01-07 13:59:29 +02:00
Nadav Har'El
0513f206d8 gossip: convert VersionGenerator to C++
version_generator is a trivial class which keeps a global "version"
counter, starting with 0 and counting up on a single Cassandra node.
It is used by the gossip protocol to keep a version number for each
piece of state information, so a remote node which gets two pieces of
conflicting gossip can know which is the newer information.

In Cassandra, the counter is an atomic integer. In our implementation,
because there will be just a single gossiper per SMP machine, and the
gossiper will run on a single CPU, it can be a regular integer. But
this doesn't really help performance anyway (the version number changes
rarely, so performance of this code is insignifcant).

Signed-off-by: Nadav Har'El <nyh@cloudius-systems.com>
2015-01-07 13:59:20 +02:00