All Downloads are FREE. Search and download functionalities are using the official Maven repository.

ossip.0.12.0.source-code.gossip-schema.xml Maven / Gradle / Ivy

There is a newer version: 0.16.4
Show newest version
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<sbe:messageSchema xmlns:sbe="http://fixprotocol.io/2016/sbe"
  package="io.zeebe.clustering.gossip" id="3" version="1"
  semanticVersion="0.1.0" description="Zeebe Management Gossip Protocol"
  byteOrder="littleEndian">

  <types>
    <composite name="messageHeader"
      description="Message identifiers and length of message root">
      <type name="blockLength" primitiveType="uint16"/>
      <type name="templateId" primitiveType="uint16"/>
      <type name="schemaId" primitiveType="uint16"/>
      <type name="version" primitiveType="uint16"/>
    </composite>

    <composite name="varDataEncoding">
      <type name="length" primitiveType="uint16"/>
      <type name="varData" primitiveType="uint8" length="0"
        characterEncoding="UTF-8"/>
    </composite>

    <composite name="groupSizeEncoding">
      <type name="blockLength" primitiveType="uint16"/>
      <type name="numInGroup" primitiveType="uint8" semanticType="NumInGroup"/>
    </composite>

    <enum name="gossipEventType" encodingType="uint8" description="type of the Gossip event">
      <validValue name="PING">0</validValue>
      <validValue name="ACK">1</validValue>
      <validValue name="PING_REQ">2</validValue>
      <validValue name="SYNC_REQUEST">3</validValue>
      <validValue name="SYNC_RESPONSE">4</validValue>
    </enum>

    <enum name="membershipEventType" encodingType="uint8" description="type of membership event">
      <validValue name="JOIN">0</validValue>
      <validValue name="SUSPECT">1</validValue>
      <validValue name="ALIVE">2</validValue>
      <validValue name="CONFIRM">3</validValue>
      <validValue name="LEAVE">4</validValue>
    </enum>

  </types>

  <sbe:message name="GossipEvent" id="0" description="ping probe request">
    <field name="eventType" id="0" type="gossipEventType"/>
    <field name="senderId" id="1" type="uint16"/>
    <field name="probeMemberId" id="2" type="uint16"/>
    <group name="membershipEvents" id="3" dimensionType="groupSizeEncoding">
      <field name="eventType" id="4" type="membershipEventType"/>
      <field name="gossipEpoch" id="5" type="uint64"/>
      <field name="gossipHeartbeat" id="6" type="uint64"/>
      <field name="memberId" id="7" type="uint16"/>
    </group>
    <group name="customEvents" id="9" dimensionType="groupSizeEncoding">
      <field name="senderGossipEpoch" id="10" type="uint64"/>
      <field name="senderGossipHeartbeat" id="11" type="uint64"/>
      <field name="senderId" id="12" type="uint16"/>
      <data name="eventType" id="14" type="varDataEncoding"/>
      <data name="payload" id="15" type="varDataEncoding"/>
    </group>
  </sbe:message>

</sbe:messageSchema>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy