Skip to content

Commit

Permalink
[Java]: expand cluster change event to be specific about join and leave.
Browse files Browse the repository at this point in the history
  • Loading branch information
tmontgomery committed Sep 25, 2018
1 parent aae261b commit e58cb9b
Show file tree
Hide file tree
Showing 6 changed files with 19 additions and 1 deletion.
Expand Up @@ -1000,6 +1000,8 @@ void onReplayClusterChange(
final long timestamp,
final int leaderMemberId,
final int clusterSize,
final ChangeType eventType,
final int memberId,
final String clusterMembers)
{
clusterTimeMs(timestamp);
Expand Down
2 changes: 2 additions & 0 deletions aeron-cluster/src/main/java/io/aeron/cluster/LogAdapter.java
Expand Up @@ -181,6 +181,8 @@ public Action onFragment(final DirectBuffer buffer, final int offset, final int
clusterChangeEventDecoder.timestamp(),
clusterChangeEventDecoder.leaderMemberId(),
clusterChangeEventDecoder.clusterSize(),
clusterChangeEventDecoder.eventType(),
clusterChangeEventDecoder.memberId(),
clusterChangeEventDecoder.clusterMembers());
break;

Expand Down
Expand Up @@ -295,6 +295,8 @@ boolean appendClusterChangeEvent(
final long nowMs,
final int leaderMemberId,
final int clusterSize,
final ChangeType eventType,
final int memberId,
final String clusterMembers)
{
long result;
Expand All @@ -306,6 +308,8 @@ boolean appendClusterChangeEvent(
.timestamp(nowMs)
.leaderMemberId(leaderMemberId)
.clusterSize(clusterSize)
.eventType(eventType)
.memberId(memberId)
.clusterMembers(clusterMembers);

final int length = clusterChangeEventEncoder.encodedLength() + MessageHeaderEncoder.ENCODED_LENGTH;
Expand Down
Expand Up @@ -195,6 +195,8 @@ public Action onFragment(final DirectBuffer buffer, final int offset, final int
clusterChangeEventDecoder.timestamp(),
clusterChangeEventDecoder.leaderMemberId(),
clusterChangeEventDecoder.clusterSize(),
clusterChangeEventDecoder.eventType(),
clusterChangeEventDecoder.memberId(),
clusterChangeEventDecoder.clusterMembers());
break;
}
Expand Down
Expand Up @@ -365,6 +365,8 @@ void onClusterChange(
final long timestampMs,
final int leaderMemberId,
final int clusterSize,
final ChangeType eventType,
final int memberId,
final String clusterMembers)
{
this.clusterTimeMs = timestampMs;
Expand Down
8 changes: 7 additions & 1 deletion aeron-cluster/src/main/resources/aeron-cluster-codecs.xml
Expand Up @@ -52,6 +52,10 @@
<validValue name="SECTION">1</validValue>
<validValue name="END">2</validValue>
</enum>
<enum name="ChangeType" encodingType="int32" description="Type of Cluster Change Event">
<validValue name="JOIN">0</validValue>
<validValue name="LEAVE">1</validValue>
</enum>
<type name="time_t" primitiveType="int64" description="Epoch time in milliseconds since 1 Jan 1970 UTC"/>
</types>

Expand Down Expand Up @@ -254,7 +258,9 @@
<field name="timestamp" id="3" type="time_t"/>
<field name="leaderMemberId" id="4" type="int32"/>
<field name="clusterSize" id="5" type="int32"/>
<data name="clusterMembers" id="6" type="varAsciiEncoding"/>
<field name="eventType" id="6" type="ChangeType"/>
<field name="memberId" id="7" type="int32"/>
<data name="clusterMembers" id="8" type="varAsciiEncoding"/>
</sbe:message>

<!-- Messages for service control between clustered services and the Consensus Module -->
Expand Down

0 comments on commit e58cb9b

Please sign in to comment.