# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: etcd/raft/raftpb/raft.proto

import sys
_b=sys.version_info[0]<3 and (lambda x:x) or (lambda x:x.encode('latin1'))
from google.protobuf.internal import enum_type_wrapper
from google.protobuf import descriptor as _descriptor
from google.protobuf import message as _message
from google.protobuf import reflection as _reflection
from google.protobuf import symbol_database as _symbol_database
from google.protobuf import descriptor_pb2
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()


from gogoproto import gogo_pb2 as gogoproto_dot_gogo__pb2


DESCRIPTOR = _descriptor.FileDescriptor(
  name='etcd/raft/raftpb/raft.proto',
  package='raftpb',
  syntax='proto2',
  serialized_pb=_b('\n\x1b\x65tcd/raft/raftpb/raft.proto\x12\x06raftpb\x1a\x14gogoproto/gogo.proto\"e\n\x05\x45ntry\x12%\n\x04Type\x18\x01 \x01(\x0e\x32\x11.raftpb.EntryTypeB\x04\xc8\xde\x1f\x00\x12\x12\n\x04Term\x18\x02 \x01(\x04\x42\x04\xc8\xde\x1f\x00\x12\x13\n\x05Index\x18\x03 \x01(\x04\x42\x04\xc8\xde\x1f\x00\x12\x0c\n\x04\x44\x61ta\x18\x04 \x01(\x0c\"h\n\x10SnapshotMetadata\x12+\n\nconf_state\x18\x01 \x01(\x0b\x32\x11.raftpb.ConfStateB\x04\xc8\xde\x1f\x00\x12\x13\n\x05index\x18\x02 \x01(\x04\x42\x04\xc8\xde\x1f\x00\x12\x12\n\x04term\x18\x03 \x01(\x04\x42\x04\xc8\xde\x1f\x00\"J\n\x08Snapshot\x12\x0c\n\x04\x64\x61ta\x18\x01 \x01(\x0c\x12\x30\n\x08metadata\x18\x02 \x01(\x0b\x32\x18.raftpb.SnapshotMetadataB\x04\xc8\xde\x1f\x00\"\xae\x02\n\x07Message\x12\'\n\x04type\x18\x01 \x01(\x0e\x32\x13.raftpb.MessageTypeB\x04\xc8\xde\x1f\x00\x12\x10\n\x02to\x18\x02 \x01(\x04\x42\x04\xc8\xde\x1f\x00\x12\x12\n\x04\x66rom\x18\x03 \x01(\x04\x42\x04\xc8\xde\x1f\x00\x12\x12\n\x04term\x18\x04 \x01(\x04\x42\x04\xc8\xde\x1f\x00\x12\x15\n\x07logTerm\x18\x05 \x01(\x04\x42\x04\xc8\xde\x1f\x00\x12\x13\n\x05index\x18\x06 \x01(\x04\x42\x04\xc8\xde\x1f\x00\x12$\n\x07\x65ntries\x18\x07 \x03(\x0b\x32\r.raftpb.EntryB\x04\xc8\xde\x1f\x00\x12\x14\n\x06\x63ommit\x18\x08 \x01(\x04\x42\x04\xc8\xde\x1f\x00\x12(\n\x08snapshot\x18\t \x01(\x0b\x32\x10.raftpb.SnapshotB\x04\xc8\xde\x1f\x00\x12\x14\n\x06reject\x18\n \x01(\x08\x42\x04\xc8\xde\x1f\x00\x12\x18\n\nrejectHint\x18\x0b \x01(\x04\x42\x04\xc8\xde\x1f\x00\"I\n\tHardState\x12\x12\n\x04term\x18\x01 \x01(\x04\x42\x04\xc8\xde\x1f\x00\x12\x12\n\x04vote\x18\x02 \x01(\x04\x42\x04\xc8\xde\x1f\x00\x12\x14\n\x06\x63ommit\x18\x03 \x01(\x04\x42\x04\xc8\xde\x1f\x00\"\x1a\n\tConfState\x12\r\n\x05nodes\x18\x01 \x03(\x04\"q\n\nConfChange\x12\x10\n\x02ID\x18\x01 \x01(\x04\x42\x04\xc8\xde\x1f\x00\x12*\n\x04Type\x18\x02 \x01(\x0e\x32\x16.raftpb.ConfChangeTypeB\x04\xc8\xde\x1f\x00\x12\x14\n\x06NodeID\x18\x03 \x01(\x04\x42\x04\xc8\xde\x1f\x00\x12\x0f\n\x07\x43ontext\x18\x04 \x01(\x0c*1\n\tEntryType\x12\x0f\n\x0b\x45ntryNormal\x10\x00\x12\x13\n\x0f\x45ntryConfChange\x10\x01*\x87\x02\n\x0bMessageType\x12\n\n\x06MsgHup\x10\x00\x12\x0b\n\x07MsgBeat\x10\x01\x12\x0b\n\x07MsgProp\x10\x02\x12\n\n\x06MsgApp\x10\x03\x12\x0e\n\nMsgAppResp\x10\x04\x12\x0b\n\x07MsgVote\x10\x05\x12\x0f\n\x0bMsgVoteResp\x10\x06\x12\x0b\n\x07MsgSnap\x10\x07\x12\x10\n\x0cMsgHeartbeat\x10\x08\x12\x14\n\x10MsgHeartbeatResp\x10\t\x12\x12\n\x0eMsgUnreachable\x10\n\x12\x11\n\rMsgSnapStatus\x10\x0b\x12\x12\n\x0eMsgCheckQuorum\x10\x0c\x12\x15\n\x11MsgTransferLeader\x10\r\x12\x11\n\rMsgTimeoutNow\x10\x0e*[\n\x0e\x43onfChangeType\x12\x15\n\x11\x43onfChangeAddNode\x10\x00\x12\x18\n\x14\x43onfChangeRemoveNode\x10\x01\x12\x18\n\x14\x43onfChangeUpdateNode\x10\x02\x42\x14\xc8\xe2\x1e\x01\xe0\xe2\x1e\x01\xd0\xe2\x1e\x01\xc8\xe1\x1e\x00\xd0\xe1\x1e\x00')
  ,
  dependencies=[gogoproto_dot_gogo__pb2.DESCRIPTOR,])
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

_ENTRYTYPE = _descriptor.EnumDescriptor(
  name='EntryType',
  full_name='raftpb.EntryType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='EntryNormal', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='EntryConfChange', index=1, number=1,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=869,
  serialized_end=918,
)
_sym_db.RegisterEnumDescriptor(_ENTRYTYPE)

EntryType = enum_type_wrapper.EnumTypeWrapper(_ENTRYTYPE)
_MESSAGETYPE = _descriptor.EnumDescriptor(
  name='MessageType',
  full_name='raftpb.MessageType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='MsgHup', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MsgBeat', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MsgProp', index=2, number=2,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MsgApp', index=3, number=3,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MsgAppResp', index=4, number=4,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MsgVote', index=5, number=5,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MsgVoteResp', index=6, number=6,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MsgSnap', index=7, number=7,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MsgHeartbeat', index=8, number=8,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MsgHeartbeatResp', index=9, number=9,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MsgUnreachable', index=10, number=10,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MsgSnapStatus', index=11, number=11,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MsgCheckQuorum', index=12, number=12,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MsgTransferLeader', index=13, number=13,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MsgTimeoutNow', index=14, number=14,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=921,
  serialized_end=1184,
)
_sym_db.RegisterEnumDescriptor(_MESSAGETYPE)

MessageType = enum_type_wrapper.EnumTypeWrapper(_MESSAGETYPE)
_CONFCHANGETYPE = _descriptor.EnumDescriptor(
  name='ConfChangeType',
  full_name='raftpb.ConfChangeType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='ConfChangeAddNode', index=0, number=0,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ConfChangeRemoveNode', index=1, number=1,
      options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ConfChangeUpdateNode', index=2, number=2,
      options=None,
      type=None),
  ],
  containing_type=None,
  options=None,
  serialized_start=1186,
  serialized_end=1277,
)
_sym_db.RegisterEnumDescriptor(_CONFCHANGETYPE)

ConfChangeType = enum_type_wrapper.EnumTypeWrapper(_CONFCHANGETYPE)
EntryNormal = 0
EntryConfChange = 1
MsgHup = 0
MsgBeat = 1
MsgProp = 2
MsgApp = 3
MsgAppResp = 4
MsgVote = 5
MsgVoteResp = 6
MsgSnap = 7
MsgHeartbeat = 8
MsgHeartbeatResp = 9
MsgUnreachable = 10
MsgSnapStatus = 11
MsgCheckQuorum = 12
MsgTransferLeader = 13
MsgTimeoutNow = 14
ConfChangeAddNode = 0
ConfChangeRemoveNode = 1
ConfChangeUpdateNode = 2



_ENTRY = _descriptor.Descriptor(
  name='Entry',
  full_name='raftpb.Entry',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='Type', full_name='raftpb.Entry.Type', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='Term', full_name='raftpb.Entry.Term', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='Index', full_name='raftpb.Entry.Index', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='Data', full_name='raftpb.Entry.Data', index=3,
      number=4, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=61,
  serialized_end=162,
)


_SNAPSHOTMETADATA = _descriptor.Descriptor(
  name='SnapshotMetadata',
  full_name='raftpb.SnapshotMetadata',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='conf_state', full_name='raftpb.SnapshotMetadata.conf_state', index=0,
      number=1, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='index', full_name='raftpb.SnapshotMetadata.index', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='term', full_name='raftpb.SnapshotMetadata.term', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=164,
  serialized_end=268,
)


_SNAPSHOT = _descriptor.Descriptor(
  name='Snapshot',
  full_name='raftpb.Snapshot',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='data', full_name='raftpb.Snapshot.data', index=0,
      number=1, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
    _descriptor.FieldDescriptor(
      name='metadata', full_name='raftpb.Snapshot.metadata', index=1,
      number=2, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=270,
  serialized_end=344,
)


_MESSAGE = _descriptor.Descriptor(
  name='Message',
  full_name='raftpb.Message',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='type', full_name='raftpb.Message.type', index=0,
      number=1, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='to', full_name='raftpb.Message.to', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='from', full_name='raftpb.Message.from', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='term', full_name='raftpb.Message.term', index=3,
      number=4, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='logTerm', full_name='raftpb.Message.logTerm', index=4,
      number=5, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='index', full_name='raftpb.Message.index', index=5,
      number=6, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='entries', full_name='raftpb.Message.entries', index=6,
      number=7, type=11, cpp_type=10, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='commit', full_name='raftpb.Message.commit', index=7,
      number=8, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='snapshot', full_name='raftpb.Message.snapshot', index=8,
      number=9, type=11, cpp_type=10, label=1,
      has_default_value=False, default_value=None,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='reject', full_name='raftpb.Message.reject', index=9,
      number=10, type=8, cpp_type=7, label=1,
      has_default_value=False, default_value=False,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='rejectHint', full_name='raftpb.Message.rejectHint', index=10,
      number=11, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=347,
  serialized_end=649,
)


_HARDSTATE = _descriptor.Descriptor(
  name='HardState',
  full_name='raftpb.HardState',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='term', full_name='raftpb.HardState.term', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='vote', full_name='raftpb.HardState.vote', index=1,
      number=2, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='commit', full_name='raftpb.HardState.commit', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=651,
  serialized_end=724,
)


_CONFSTATE = _descriptor.Descriptor(
  name='ConfState',
  full_name='raftpb.ConfState',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='nodes', full_name='raftpb.ConfState.nodes', index=0,
      number=1, type=4, cpp_type=4, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=726,
  serialized_end=752,
)


_CONFCHANGE = _descriptor.Descriptor(
  name='ConfChange',
  full_name='raftpb.ConfChange',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='ID', full_name='raftpb.ConfChange.ID', index=0,
      number=1, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='Type', full_name='raftpb.ConfChange.Type', index=1,
      number=2, type=14, cpp_type=8, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='NodeID', full_name='raftpb.ConfChange.NodeID', index=2,
      number=3, type=4, cpp_type=4, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=_descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))),
    _descriptor.FieldDescriptor(
      name='Context', full_name='raftpb.ConfChange.Context', index=3,
      number=4, type=12, cpp_type=9, label=1,
      has_default_value=False, default_value=_b(""),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      options=None),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  options=None,
  is_extendable=False,
  syntax='proto2',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=754,
  serialized_end=867,
)

_ENTRY.fields_by_name['Type'].enum_type = _ENTRYTYPE
_SNAPSHOTMETADATA.fields_by_name['conf_state'].message_type = _CONFSTATE
_SNAPSHOT.fields_by_name['metadata'].message_type = _SNAPSHOTMETADATA
_MESSAGE.fields_by_name['type'].enum_type = _MESSAGETYPE
_MESSAGE.fields_by_name['entries'].message_type = _ENTRY
_MESSAGE.fields_by_name['snapshot'].message_type = _SNAPSHOT
_CONFCHANGE.fields_by_name['Type'].enum_type = _CONFCHANGETYPE
DESCRIPTOR.message_types_by_name['Entry'] = _ENTRY
DESCRIPTOR.message_types_by_name['SnapshotMetadata'] = _SNAPSHOTMETADATA
DESCRIPTOR.message_types_by_name['Snapshot'] = _SNAPSHOT
DESCRIPTOR.message_types_by_name['Message'] = _MESSAGE
DESCRIPTOR.message_types_by_name['HardState'] = _HARDSTATE
DESCRIPTOR.message_types_by_name['ConfState'] = _CONFSTATE
DESCRIPTOR.message_types_by_name['ConfChange'] = _CONFCHANGE
DESCRIPTOR.enum_types_by_name['EntryType'] = _ENTRYTYPE
DESCRIPTOR.enum_types_by_name['MessageType'] = _MESSAGETYPE
DESCRIPTOR.enum_types_by_name['ConfChangeType'] = _CONFCHANGETYPE

Entry = _reflection.GeneratedProtocolMessageType('Entry', (_message.Message,), dict(
  DESCRIPTOR = _ENTRY,
  __module__ = 'etcd.raft.raftpb.raft_pb2'
  # @@protoc_insertion_point(class_scope:raftpb.Entry)
  ))
_sym_db.RegisterMessage(Entry)

SnapshotMetadata = _reflection.GeneratedProtocolMessageType('SnapshotMetadata', (_message.Message,), dict(
  DESCRIPTOR = _SNAPSHOTMETADATA,
  __module__ = 'etcd.raft.raftpb.raft_pb2'
  # @@protoc_insertion_point(class_scope:raftpb.SnapshotMetadata)
  ))
_sym_db.RegisterMessage(SnapshotMetadata)

Snapshot = _reflection.GeneratedProtocolMessageType('Snapshot', (_message.Message,), dict(
  DESCRIPTOR = _SNAPSHOT,
  __module__ = 'etcd.raft.raftpb.raft_pb2'
  # @@protoc_insertion_point(class_scope:raftpb.Snapshot)
  ))
_sym_db.RegisterMessage(Snapshot)

Message = _reflection.GeneratedProtocolMessageType('Message', (_message.Message,), dict(
  DESCRIPTOR = _MESSAGE,
  __module__ = 'etcd.raft.raftpb.raft_pb2'
  # @@protoc_insertion_point(class_scope:raftpb.Message)
  ))
_sym_db.RegisterMessage(Message)

HardState = _reflection.GeneratedProtocolMessageType('HardState', (_message.Message,), dict(
  DESCRIPTOR = _HARDSTATE,
  __module__ = 'etcd.raft.raftpb.raft_pb2'
  # @@protoc_insertion_point(class_scope:raftpb.HardState)
  ))
_sym_db.RegisterMessage(HardState)

ConfState = _reflection.GeneratedProtocolMessageType('ConfState', (_message.Message,), dict(
  DESCRIPTOR = _CONFSTATE,
  __module__ = 'etcd.raft.raftpb.raft_pb2'
  # @@protoc_insertion_point(class_scope:raftpb.ConfState)
  ))
_sym_db.RegisterMessage(ConfState)

ConfChange = _reflection.GeneratedProtocolMessageType('ConfChange', (_message.Message,), dict(
  DESCRIPTOR = _CONFCHANGE,
  __module__ = 'etcd.raft.raftpb.raft_pb2'
  # @@protoc_insertion_point(class_scope:raftpb.ConfChange)
  ))
_sym_db.RegisterMessage(ConfChange)


DESCRIPTOR.has_options = True
DESCRIPTOR._options = _descriptor._ParseOptions(descriptor_pb2.FileOptions(), _b('\310\342\036\001\340\342\036\001\320\342\036\001\310\341\036\000\320\341\036\000'))
_ENTRY.fields_by_name['Type'].has_options = True
_ENTRY.fields_by_name['Type']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_ENTRY.fields_by_name['Term'].has_options = True
_ENTRY.fields_by_name['Term']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_ENTRY.fields_by_name['Index'].has_options = True
_ENTRY.fields_by_name['Index']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_SNAPSHOTMETADATA.fields_by_name['conf_state'].has_options = True
_SNAPSHOTMETADATA.fields_by_name['conf_state']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_SNAPSHOTMETADATA.fields_by_name['index'].has_options = True
_SNAPSHOTMETADATA.fields_by_name['index']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_SNAPSHOTMETADATA.fields_by_name['term'].has_options = True
_SNAPSHOTMETADATA.fields_by_name['term']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_SNAPSHOT.fields_by_name['metadata'].has_options = True
_SNAPSHOT.fields_by_name['metadata']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_MESSAGE.fields_by_name['type'].has_options = True
_MESSAGE.fields_by_name['type']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_MESSAGE.fields_by_name['to'].has_options = True
_MESSAGE.fields_by_name['to']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_MESSAGE.fields_by_name['from'].has_options = True
_MESSAGE.fields_by_name['from']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_MESSAGE.fields_by_name['term'].has_options = True
_MESSAGE.fields_by_name['term']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_MESSAGE.fields_by_name['logTerm'].has_options = True
_MESSAGE.fields_by_name['logTerm']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_MESSAGE.fields_by_name['index'].has_options = True
_MESSAGE.fields_by_name['index']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_MESSAGE.fields_by_name['entries'].has_options = True
_MESSAGE.fields_by_name['entries']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_MESSAGE.fields_by_name['commit'].has_options = True
_MESSAGE.fields_by_name['commit']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_MESSAGE.fields_by_name['snapshot'].has_options = True
_MESSAGE.fields_by_name['snapshot']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_MESSAGE.fields_by_name['reject'].has_options = True
_MESSAGE.fields_by_name['reject']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_MESSAGE.fields_by_name['rejectHint'].has_options = True
_MESSAGE.fields_by_name['rejectHint']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_HARDSTATE.fields_by_name['term'].has_options = True
_HARDSTATE.fields_by_name['term']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_HARDSTATE.fields_by_name['vote'].has_options = True
_HARDSTATE.fields_by_name['vote']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_HARDSTATE.fields_by_name['commit'].has_options = True
_HARDSTATE.fields_by_name['commit']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_CONFCHANGE.fields_by_name['ID'].has_options = True
_CONFCHANGE.fields_by_name['ID']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_CONFCHANGE.fields_by_name['Type'].has_options = True
_CONFCHANGE.fields_by_name['Type']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
_CONFCHANGE.fields_by_name['NodeID'].has_options = True
_CONFCHANGE.fields_by_name['NodeID']._options = _descriptor._ParseOptions(descriptor_pb2.FieldOptions(), _b('\310\336\037\000'))
import abc
import six
from grpc.beta import implementations as beta_implementations
from grpc.framework.common import cardinality
from grpc.framework.interfaces.face import utilities as face_utilities
# @@protoc_insertion_point(module_scope)
