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

e-broker-core.0.8.0.source-code.raft-schema.xml Maven / Gradle / Ivy

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<sbe:messageSchema xmlns:sbe="http://www.fixprotocol.org/ns/simple/RC3"
    package="io.zeebe.clustering.raft" id="4" version="1"
    semanticVersion="0.1.0" description="Zeebe Management Raft 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>
    </types>

    <types>

        <!-- GENERAL -->

        <enum name="BooleanType" encodingType="uint8" semanticType="Boolean">
            <validValue name="FALSE">0</validValue>
            <validValue name="TRUE">1</validValue>
        </enum>

    </types>

    <!-- RAFT MESSAGES -->

    <sbe:message name="JoinRequest" id="0">
        <field name="partitionId" id="0" type="uint16"/>
        <field name="term" id="1" type="uint16"/>
        <field name="port" id="2" type="uint16"/>
        <data name="topicName" id="3" type="varDataEncoding"/>
        <data name="host" id="4" type="varDataEncoding"/>
    </sbe:message>

    <sbe:message name="JoinResponse" id="1">
        <field name="term" id="1" type="uint16"/>
        <field name="succeeded" id="3" type="BooleanType" />
        <field name="configurationEntryPosition" id="4" type="uint64"/>
        <field name="configurationEntryTerm" id="5" type="int32"/>
        <group name="members" id="6" dimensionType="groupSizeEncoding">
            <field name="port" id="7" type="uint16"/>
            <data name="host" id="8" type="varDataEncoding"/>
        </group>
    </sbe:message>

    <sbe:message name="LeaveRequest" id="2">
        <field name="partitionId" id="0" type="uint16"/>
        <field name="term" id="1" type="uint16"/>
        <field name="port" id="2" type="uint16"/>
        <data name="topicName" id="3" type="varDataEncoding"/>
        <data name="host" id="4" type="varDataEncoding"/>
    </sbe:message>

    <sbe:message name="LeaveResponse" id="3" >
        <field name="term" id="1" type="uint16"/>
        <field name="succeeded" id="3" type="BooleanType" />
        <field name="configurationEntryPosition" id="4" type="uint64"/>
        <field name="configurationEntryTerm" id="5" type="int32"/>
        <group name="members" id="6" dimensionType="groupSizeEncoding">
            <field name="port" id="7" type="uint16"/>
            <data name="host" id="8" type="varDataEncoding"/>
        </group>
    </sbe:message>

    <sbe:message name="ConfigureRequest" id="4">
        <field name="partitionId" id="0" type="uint16"/>
        <field name="term" id="1" type="uint16"/>
        <field name="configurationEntryPosition" id="2" type="uint64"/>
        <field name="configurationEntryTerm" id="3" type="int32"/>
        <group name="members" id="4" dimensionType="groupSizeEncoding">
            <field name="port" id="5" type="uint16"/>
            <data name="host" id="6" type="varDataEncoding"/>
        </group>
        <data name="topicName" id="7" type="varDataEncoding" />
    </sbe:message>

    <sbe:message name="ConfigureResponse" id="5">
        <field name="term" id="1" type="uint16"/>
    </sbe:message>

    <sbe:message name="PollRequest" id="6">
        <field name="partitionId" id="0" type="uint16"/>
        <field name="term" id="1" type="uint16"/>
        <field name="lastEntryPosition" id="2" type="uint64"/>
        <field name="lastEntryTerm" id="3" type="int32"/>
        <field name="port" id="4" type="uint16"/>
        <data name="topicName" id="5" type="varDataEncoding"/>
        <data name="host" id="6" type="varDataEncoding"/>
    </sbe:message>

    <sbe:message name="PollResponse" id="7">
        <field name="term" id="1" type="uint16"/>
        <field name="granted" id="2" type="BooleanType"/>
    </sbe:message>

    <sbe:message name="VoteRequest" id="8">
        <field name="partitionId" id="0" type="uint16"/>
        <field name="term" id="1" type="uint16"/>
        <field name="lastEntryPosition" id="2" type="uint64"/>
        <field name="lastEntryTerm" id="3" type="int32"/>
        <field name="port" id="4" type="uint16"/>
        <data name="topicName" id="5" type="varDataEncoding"/>
        <data name="host" id="6" type="varDataEncoding"/>
    </sbe:message>

    <sbe:message name="VoteResponse" id="9">
        <field name="term" id="1" type="uint16"/>
        <field name="granted" id="2" type="BooleanType"/>
    </sbe:message>

    <sbe:message name="AppendRequest" id="10">
        <field name="partitionId" id="0" type="uint16"/>
        <field name="term" id="1" type="uint16"/>
        <field name="previousEntryPosition" id="2" type="uint64"/>
        <field name="previousEntryTerm" id="3" type="int32"/>
        <field name="commitPosition" id="4" type="uint64"/>
        <field name="port" id="5" type="uint16"/>
        <data name="topicName" id="6" type="varDataEncoding"/>
        <data name="host" id="7" type="varDataEncoding"/>
        <data name="data" id="8" type="varDataEncoding"/>
    </sbe:message>

    <sbe:message name="AppendResponse" id="11">
        <field name="partitionId" id="0" type="uint16"/>
        <field name="term" id="1" type="uint16"/>
        <field name="succeeded" id="2" type="BooleanType"/>
        <field name="entryPosition" id="3" type="uint64"/>
        <field name="port" id="4" type="uint16"/>
        <data name="topicName" id="5" type="varDataEncoding"/>
        <data name="host" id="6" type="varDataEncoding"/>
    </sbe:message>

</sbe:messageSchema>




© 2015 - 2025 Weber Informatics LLC | Privacy Policy