# -*- coding: utf-8 -*-
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: CanalProtocol.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
# @@protoc_insertion_point(imports)

_sym_db = _symbol_database.Default()




DESCRIPTOR = _descriptor.FileDescriptor(
  name='CanalProtocol.proto',
  package='com.alibaba.otter.canal.protocol',
  syntax='proto3',
  serialized_options=_b('\n com.alibaba.otter.canal.protocolB\013CanalPacketH\001'),
  serialized_pb=_b('\n\x13\x43\x61nalProtocol.proto\x12 com.alibaba.otter.canal.protocol\"\x85\x02\n\x06Packet\x12\x16\n\x0cmagic_number\x18\x01 \x01(\x05H\x00\x12\x11\n\x07version\x18\x02 \x01(\x05H\x01\x12:\n\x04type\x18\x03 \x01(\x0e\x32,.com.alibaba.otter.canal.protocol.PacketType\x12\x44\n\x0b\x63ompression\x18\x04 \x01(\x0e\x32-.com.alibaba.otter.canal.protocol.CompressionH\x02\x12\x0c\n\x04\x62ody\x18\x05 \x01(\x0c\x42\x16\n\x14magic_number_presentB\x11\n\x0fversion_presentB\x15\n\x13\x63ompression_present\"<\n\tHeartBeat\x12\x16\n\x0esend_timestamp\x18\x01 \x01(\x03\x12\x17\n\x0fstart_timestamp\x18\x02 \x01(\x03\"\xad\x01\n\tHandshake\x12 \n\x16\x63ommunication_encoding\x18\x01 \x01(\tH\x00\x12\r\n\x05seeds\x18\x02 \x01(\x0c\x12M\n\x16supported_compressions\x18\x03 \x01(\x0e\x32-.com.alibaba.otter.canal.protocol.CompressionB \n\x1e\x63ommunication_encoding_present\"\xf3\x01\n\nClientAuth\x12\x10\n\x08username\x18\x01 \x01(\t\x12\x10\n\x08password\x18\x02 \x01(\x0c\x12\x1a\n\x10net_read_timeout\x18\x03 \x01(\x05H\x00\x12\x1b\n\x11net_write_timeout\x18\x04 \x01(\x05H\x01\x12\x13\n\x0b\x64\x65stination\x18\x05 \x01(\t\x12\x11\n\tclient_id\x18\x06 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x07 \x01(\t\x12\x17\n\x0fstart_timestamp\x18\x08 \x01(\x03\x42\x1a\n\x18net_read_timeout_presentB\x1b\n\x19net_write_timeout_present\"H\n\x03\x41\x63k\x12\x14\n\nerror_code\x18\x01 \x01(\x05H\x00\x12\x15\n\rerror_message\x18\x02 \x01(\tB\x14\n\x12\x65rror_code_present\"E\n\tClientAck\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\t\x12\x11\n\tclient_id\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61tch_id\x18\x03 \x01(\x03\"=\n\x03Sub\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\t\x12\x11\n\tclient_id\x18\x02 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x07 \x01(\t\"?\n\x05Unsub\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\t\x12\x11\n\tclient_id\x18\x02 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x07 \x01(\t\"\xaf\x01\n\x03Get\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\t\x12\x11\n\tclient_id\x18\x02 \x01(\t\x12\x12\n\nfetch_size\x18\x03 \x01(\x05\x12\x11\n\x07timeout\x18\x04 \x01(\x03H\x00\x12\x0e\n\x04unit\x18\x05 \x01(\x05H\x01\x12\x12\n\x08\x61uto_ack\x18\x06 \x01(\x08H\x02\x42\x11\n\x0ftimeout_presentB\x0e\n\x0cunit_presentB\x12\n\x10\x61uto_ack_present\".\n\x08Messages\x12\x10\n\x08\x62\x61tch_id\x18\x01 \x01(\x03\x12\x10\n\x08messages\x18\x02 \x03(\x0c\"S\n\x04\x44ump\x12\x0f\n\x07journal\x18\x01 \x01(\t\x12\x10\n\x08position\x18\x02 \x01(\x03\x12\x13\n\ttimestamp\x18\x03 \x01(\x03H\x00\x42\x13\n\x11timestamp_present\"J\n\x0e\x43lientRollback\x12\x13\n\x0b\x64\x65stination\x18\x01 \x01(\t\x12\x11\n\tclient_id\x18\x02 \x01(\t\x12\x10\n\x08\x62\x61tch_id\x18\x03 \x01(\x03*U\n\x0b\x43ompression\x12\x1f\n\x1b\x43OMPRESSIONCOMPATIBLEPROTO2\x10\x00\x12\x08\n\x04NONE\x10\x01\x12\x08\n\x04ZLIB\x10\x02\x12\x08\n\x04GZIP\x10\x03\x12\x07\n\x03LZF\x10\x04*\xe7\x01\n\nPacketType\x12\x1f\n\x1bPACKAGETYPECOMPATIBLEPROTO2\x10\x00\x12\r\n\tHANDSHAKE\x10\x01\x12\x18\n\x14\x43LIENTAUTHENTICATION\x10\x02\x12\x07\n\x03\x41\x43K\x10\x03\x12\x10\n\x0cSUBSCRIPTION\x10\x04\x12\x12\n\x0eUNSUBSCRIPTION\x10\x05\x12\x07\n\x03GET\x10\x06\x12\x0c\n\x08MESSAGES\x10\x07\x12\r\n\tCLIENTACK\x10\x08\x12\x0c\n\x08SHUTDOWN\x10\t\x12\x08\n\x04\x44UMP\x10\n\x12\x0e\n\nHEARTBEATS\x10\x0b\x12\x12\n\x0e\x43LIENTROLLBACK\x10\x0c\x42\x31\n com.alibaba.otter.canal.protocolB\x0b\x43\x61nalPacketH\x01\x62\x06proto3')
)

_COMPRESSION = _descriptor.EnumDescriptor(
  name='Compression',
  full_name='com.alibaba.otter.canal.protocol.Compression',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='COMPRESSIONCOMPATIBLEPROTO2', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='NONE', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ZLIB', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='GZIP', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='LZF', index=4, number=4,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1465,
  serialized_end=1550,
)
_sym_db.RegisterEnumDescriptor(_COMPRESSION)

Compression = enum_type_wrapper.EnumTypeWrapper(_COMPRESSION)
_PACKETTYPE = _descriptor.EnumDescriptor(
  name='PacketType',
  full_name='com.alibaba.otter.canal.protocol.PacketType',
  filename=None,
  file=DESCRIPTOR,
  values=[
    _descriptor.EnumValueDescriptor(
      name='PACKAGETYPECOMPATIBLEPROTO2', index=0, number=0,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='HANDSHAKE', index=1, number=1,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CLIENTAUTHENTICATION', index=2, number=2,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='ACK', index=3, number=3,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SUBSCRIPTION', index=4, number=4,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='UNSUBSCRIPTION', index=5, number=5,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='GET', index=6, number=6,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='MESSAGES', index=7, number=7,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CLIENTACK', index=8, number=8,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='SHUTDOWN', index=9, number=9,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='DUMP', index=10, number=10,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='HEARTBEATS', index=11, number=11,
      serialized_options=None,
      type=None),
    _descriptor.EnumValueDescriptor(
      name='CLIENTROLLBACK', index=12, number=12,
      serialized_options=None,
      type=None),
  ],
  containing_type=None,
  serialized_options=None,
  serialized_start=1553,
  serialized_end=1784,
)
_sym_db.RegisterEnumDescriptor(_PACKETTYPE)

PacketType = enum_type_wrapper.EnumTypeWrapper(_PACKETTYPE)
COMPRESSIONCOMPATIBLEPROTO2 = 0
NONE = 1
ZLIB = 2
GZIP = 3
LZF = 4
PACKAGETYPECOMPATIBLEPROTO2 = 0
HANDSHAKE = 1
CLIENTAUTHENTICATION = 2
ACK = 3
SUBSCRIPTION = 4
UNSUBSCRIPTION = 5
GET = 6
MESSAGES = 7
CLIENTACK = 8
SHUTDOWN = 9
DUMP = 10
HEARTBEATS = 11
CLIENTROLLBACK = 12



_PACKET = _descriptor.Descriptor(
  name='Packet',
  full_name='com.alibaba.otter.canal.protocol.Packet',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='magic_number', full_name='com.alibaba.otter.canal.protocol.Packet.magic_number', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='version', full_name='com.alibaba.otter.canal.protocol.Packet.version', index=1,
      number=2, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='type', full_name='com.alibaba.otter.canal.protocol.Packet.type', index=2,
      number=3, 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='compression', full_name='com.alibaba.otter.canal.protocol.Packet.compression', index=3,
      number=4, 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='body', full_name='com.alibaba.otter.canal.protocol.Packet.body', index=4,
      number=5, 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='magic_number_present', full_name='com.alibaba.otter.canal.protocol.Packet.magic_number_present',
      index=0, containing_type=None, fields=[]),
    _descriptor.OneofDescriptor(
      name='version_present', full_name='com.alibaba.otter.canal.protocol.Packet.version_present',
      index=1, containing_type=None, fields=[]),
    _descriptor.OneofDescriptor(
      name='compression_present', full_name='com.alibaba.otter.canal.protocol.Packet.compression_present',
      index=2, containing_type=None, fields=[]),
  ],
  serialized_start=58,
  serialized_end=319,
)


_HEARTBEAT = _descriptor.Descriptor(
  name='HeartBeat',
  full_name='com.alibaba.otter.canal.protocol.HeartBeat',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='send_timestamp', full_name='com.alibaba.otter.canal.protocol.HeartBeat.send_timestamp', index=0,
      number=1, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='start_timestamp', full_name='com.alibaba.otter.canal.protocol.HeartBeat.start_timestamp', index=1,
      number=2, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=321,
  serialized_end=381,
)


_HANDSHAKE = _descriptor.Descriptor(
  name='Handshake',
  full_name='com.alibaba.otter.canal.protocol.Handshake',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='communication_encoding', full_name='com.alibaba.otter.canal.protocol.Handshake.communication_encoding', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='seeds', full_name='com.alibaba.otter.canal.protocol.Handshake.seeds', index=1,
      number=2, 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='supported_compressions', full_name='com.alibaba.otter.canal.protocol.Handshake.supported_compressions', index=2,
      number=3, 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='communication_encoding_present', full_name='com.alibaba.otter.canal.protocol.Handshake.communication_encoding_present',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=384,
  serialized_end=557,
)


_CLIENTAUTH = _descriptor.Descriptor(
  name='ClientAuth',
  full_name='com.alibaba.otter.canal.protocol.ClientAuth',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='username', full_name='com.alibaba.otter.canal.protocol.ClientAuth.username', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='password', full_name='com.alibaba.otter.canal.protocol.ClientAuth.password', index=1,
      number=2, 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,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='net_read_timeout', full_name='com.alibaba.otter.canal.protocol.ClientAuth.net_read_timeout', index=2,
      number=3, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='net_write_timeout', full_name='com.alibaba.otter.canal.protocol.ClientAuth.net_write_timeout', index=3,
      number=4, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='destination', full_name='com.alibaba.otter.canal.protocol.ClientAuth.destination', index=4,
      number=5, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='client_id', full_name='com.alibaba.otter.canal.protocol.ClientAuth.client_id', index=5,
      number=6, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='filter', full_name='com.alibaba.otter.canal.protocol.ClientAuth.filter', index=6,
      number=7, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='start_timestamp', full_name='com.alibaba.otter.canal.protocol.ClientAuth.start_timestamp', index=7,
      number=8, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='net_read_timeout_present', full_name='com.alibaba.otter.canal.protocol.ClientAuth.net_read_timeout_present',
      index=0, containing_type=None, fields=[]),
    _descriptor.OneofDescriptor(
      name='net_write_timeout_present', full_name='com.alibaba.otter.canal.protocol.ClientAuth.net_write_timeout_present',
      index=1, containing_type=None, fields=[]),
  ],
  serialized_start=560,
  serialized_end=803,
)


_ACK = _descriptor.Descriptor(
  name='Ack',
  full_name='com.alibaba.otter.canal.protocol.Ack',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='error_code', full_name='com.alibaba.otter.canal.protocol.Ack.error_code', index=0,
      number=1, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='error_message', full_name='com.alibaba.otter.canal.protocol.Ack.error_message', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='error_code_present', full_name='com.alibaba.otter.canal.protocol.Ack.error_code_present',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=805,
  serialized_end=877,
)


_CLIENTACK = _descriptor.Descriptor(
  name='ClientAck',
  full_name='com.alibaba.otter.canal.protocol.ClientAck',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='destination', full_name='com.alibaba.otter.canal.protocol.ClientAck.destination', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='client_id', full_name='com.alibaba.otter.canal.protocol.ClientAck.client_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='batch_id', full_name='com.alibaba.otter.canal.protocol.ClientAck.batch_id', index=2,
      number=3, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=879,
  serialized_end=948,
)


_SUB = _descriptor.Descriptor(
  name='Sub',
  full_name='com.alibaba.otter.canal.protocol.Sub',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='destination', full_name='com.alibaba.otter.canal.protocol.Sub.destination', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='client_id', full_name='com.alibaba.otter.canal.protocol.Sub.client_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='filter', full_name='com.alibaba.otter.canal.protocol.Sub.filter', index=2,
      number=7, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=950,
  serialized_end=1011,
)


_UNSUB = _descriptor.Descriptor(
  name='Unsub',
  full_name='com.alibaba.otter.canal.protocol.Unsub',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='destination', full_name='com.alibaba.otter.canal.protocol.Unsub.destination', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='client_id', full_name='com.alibaba.otter.canal.protocol.Unsub.client_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='filter', full_name='com.alibaba.otter.canal.protocol.Unsub.filter', index=2,
      number=7, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1013,
  serialized_end=1076,
)


_GET = _descriptor.Descriptor(
  name='Get',
  full_name='com.alibaba.otter.canal.protocol.Get',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='destination', full_name='com.alibaba.otter.canal.protocol.Get.destination', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='client_id', full_name='com.alibaba.otter.canal.protocol.Get.client_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='fetch_size', full_name='com.alibaba.otter.canal.protocol.Get.fetch_size', index=2,
      number=3, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='timeout', full_name='com.alibaba.otter.canal.protocol.Get.timeout', index=3,
      number=4, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='unit', full_name='com.alibaba.otter.canal.protocol.Get.unit', index=4,
      number=5, type=5, cpp_type=1, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='auto_ack', full_name='com.alibaba.otter.canal.protocol.Get.auto_ack', index=5,
      number=6, 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,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='timeout_present', full_name='com.alibaba.otter.canal.protocol.Get.timeout_present',
      index=0, containing_type=None, fields=[]),
    _descriptor.OneofDescriptor(
      name='unit_present', full_name='com.alibaba.otter.canal.protocol.Get.unit_present',
      index=1, containing_type=None, fields=[]),
    _descriptor.OneofDescriptor(
      name='auto_ack_present', full_name='com.alibaba.otter.canal.protocol.Get.auto_ack_present',
      index=2, containing_type=None, fields=[]),
  ],
  serialized_start=1079,
  serialized_end=1254,
)


_MESSAGES = _descriptor.Descriptor(
  name='Messages',
  full_name='com.alibaba.otter.canal.protocol.Messages',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='batch_id', full_name='com.alibaba.otter.canal.protocol.Messages.batch_id', index=0,
      number=1, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='messages', full_name='com.alibaba.otter.canal.protocol.Messages.messages', index=1,
      number=2, type=12, cpp_type=9, label=3,
      has_default_value=False, default_value=[],
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1256,
  serialized_end=1302,
)


_DUMP = _descriptor.Descriptor(
  name='Dump',
  full_name='com.alibaba.otter.canal.protocol.Dump',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='journal', full_name='com.alibaba.otter.canal.protocol.Dump.journal', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='position', full_name='com.alibaba.otter.canal.protocol.Dump.position', index=1,
      number=2, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='timestamp', full_name='com.alibaba.otter.canal.protocol.Dump.timestamp', index=2,
      number=3, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
    _descriptor.OneofDescriptor(
      name='timestamp_present', full_name='com.alibaba.otter.canal.protocol.Dump.timestamp_present',
      index=0, containing_type=None, fields=[]),
  ],
  serialized_start=1304,
  serialized_end=1387,
)


_CLIENTROLLBACK = _descriptor.Descriptor(
  name='ClientRollback',
  full_name='com.alibaba.otter.canal.protocol.ClientRollback',
  filename=None,
  file=DESCRIPTOR,
  containing_type=None,
  fields=[
    _descriptor.FieldDescriptor(
      name='destination', full_name='com.alibaba.otter.canal.protocol.ClientRollback.destination', index=0,
      number=1, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='client_id', full_name='com.alibaba.otter.canal.protocol.ClientRollback.client_id', index=1,
      number=2, type=9, cpp_type=9, label=1,
      has_default_value=False, default_value=_b("").decode('utf-8'),
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
    _descriptor.FieldDescriptor(
      name='batch_id', full_name='com.alibaba.otter.canal.protocol.ClientRollback.batch_id', index=2,
      number=3, type=3, cpp_type=2, label=1,
      has_default_value=False, default_value=0,
      message_type=None, enum_type=None, containing_type=None,
      is_extension=False, extension_scope=None,
      serialized_options=None, file=DESCRIPTOR),
  ],
  extensions=[
  ],
  nested_types=[],
  enum_types=[
  ],
  serialized_options=None,
  is_extendable=False,
  syntax='proto3',
  extension_ranges=[],
  oneofs=[
  ],
  serialized_start=1389,
  serialized_end=1463,
)

_PACKET.fields_by_name['type'].enum_type = _PACKETTYPE
_PACKET.fields_by_name['compression'].enum_type = _COMPRESSION
_PACKET.oneofs_by_name['magic_number_present'].fields.append(
  _PACKET.fields_by_name['magic_number'])
_PACKET.fields_by_name['magic_number'].containing_oneof = _PACKET.oneofs_by_name['magic_number_present']
_PACKET.oneofs_by_name['version_present'].fields.append(
  _PACKET.fields_by_name['version'])
_PACKET.fields_by_name['version'].containing_oneof = _PACKET.oneofs_by_name['version_present']
_PACKET.oneofs_by_name['compression_present'].fields.append(
  _PACKET.fields_by_name['compression'])
_PACKET.fields_by_name['compression'].containing_oneof = _PACKET.oneofs_by_name['compression_present']
_HANDSHAKE.fields_by_name['supported_compressions'].enum_type = _COMPRESSION
_HANDSHAKE.oneofs_by_name['communication_encoding_present'].fields.append(
  _HANDSHAKE.fields_by_name['communication_encoding'])
_HANDSHAKE.fields_by_name['communication_encoding'].containing_oneof = _HANDSHAKE.oneofs_by_name['communication_encoding_present']
_CLIENTAUTH.oneofs_by_name['net_read_timeout_present'].fields.append(
  _CLIENTAUTH.fields_by_name['net_read_timeout'])
_CLIENTAUTH.fields_by_name['net_read_timeout'].containing_oneof = _CLIENTAUTH.oneofs_by_name['net_read_timeout_present']
_CLIENTAUTH.oneofs_by_name['net_write_timeout_present'].fields.append(
  _CLIENTAUTH.fields_by_name['net_write_timeout'])
_CLIENTAUTH.fields_by_name['net_write_timeout'].containing_oneof = _CLIENTAUTH.oneofs_by_name['net_write_timeout_present']
_ACK.oneofs_by_name['error_code_present'].fields.append(
  _ACK.fields_by_name['error_code'])
_ACK.fields_by_name['error_code'].containing_oneof = _ACK.oneofs_by_name['error_code_present']
_GET.oneofs_by_name['timeout_present'].fields.append(
  _GET.fields_by_name['timeout'])
_GET.fields_by_name['timeout'].containing_oneof = _GET.oneofs_by_name['timeout_present']
_GET.oneofs_by_name['unit_present'].fields.append(
  _GET.fields_by_name['unit'])
_GET.fields_by_name['unit'].containing_oneof = _GET.oneofs_by_name['unit_present']
_GET.oneofs_by_name['auto_ack_present'].fields.append(
  _GET.fields_by_name['auto_ack'])
_GET.fields_by_name['auto_ack'].containing_oneof = _GET.oneofs_by_name['auto_ack_present']
_DUMP.oneofs_by_name['timestamp_present'].fields.append(
  _DUMP.fields_by_name['timestamp'])
_DUMP.fields_by_name['timestamp'].containing_oneof = _DUMP.oneofs_by_name['timestamp_present']
DESCRIPTOR.message_types_by_name['Packet'] = _PACKET
DESCRIPTOR.message_types_by_name['HeartBeat'] = _HEARTBEAT
DESCRIPTOR.message_types_by_name['Handshake'] = _HANDSHAKE
DESCRIPTOR.message_types_by_name['ClientAuth'] = _CLIENTAUTH
DESCRIPTOR.message_types_by_name['Ack'] = _ACK
DESCRIPTOR.message_types_by_name['ClientAck'] = _CLIENTACK
DESCRIPTOR.message_types_by_name['Sub'] = _SUB
DESCRIPTOR.message_types_by_name['Unsub'] = _UNSUB
DESCRIPTOR.message_types_by_name['Get'] = _GET
DESCRIPTOR.message_types_by_name['Messages'] = _MESSAGES
DESCRIPTOR.message_types_by_name['Dump'] = _DUMP
DESCRIPTOR.message_types_by_name['ClientRollback'] = _CLIENTROLLBACK
DESCRIPTOR.enum_types_by_name['Compression'] = _COMPRESSION
DESCRIPTOR.enum_types_by_name['PacketType'] = _PACKETTYPE
_sym_db.RegisterFileDescriptor(DESCRIPTOR)

Packet = _reflection.GeneratedProtocolMessageType('Packet', (_message.Message,), dict(
  DESCRIPTOR = _PACKET,
  __module__ = 'CanalProtocol_pb2'
  # @@protoc_insertion_point(class_scope:com.alibaba.otter.canal.protocol.Packet)
  ))
_sym_db.RegisterMessage(Packet)

HeartBeat = _reflection.GeneratedProtocolMessageType('HeartBeat', (_message.Message,), dict(
  DESCRIPTOR = _HEARTBEAT,
  __module__ = 'CanalProtocol_pb2'
  # @@protoc_insertion_point(class_scope:com.alibaba.otter.canal.protocol.HeartBeat)
  ))
_sym_db.RegisterMessage(HeartBeat)

Handshake = _reflection.GeneratedProtocolMessageType('Handshake', (_message.Message,), dict(
  DESCRIPTOR = _HANDSHAKE,
  __module__ = 'CanalProtocol_pb2'
  # @@protoc_insertion_point(class_scope:com.alibaba.otter.canal.protocol.Handshake)
  ))
_sym_db.RegisterMessage(Handshake)

ClientAuth = _reflection.GeneratedProtocolMessageType('ClientAuth', (_message.Message,), dict(
  DESCRIPTOR = _CLIENTAUTH,
  __module__ = 'CanalProtocol_pb2'
  # @@protoc_insertion_point(class_scope:com.alibaba.otter.canal.protocol.ClientAuth)
  ))
_sym_db.RegisterMessage(ClientAuth)

Ack = _reflection.GeneratedProtocolMessageType('Ack', (_message.Message,), dict(
  DESCRIPTOR = _ACK,
  __module__ = 'CanalProtocol_pb2'
  # @@protoc_insertion_point(class_scope:com.alibaba.otter.canal.protocol.Ack)
  ))
_sym_db.RegisterMessage(Ack)

ClientAck = _reflection.GeneratedProtocolMessageType('ClientAck', (_message.Message,), dict(
  DESCRIPTOR = _CLIENTACK,
  __module__ = 'CanalProtocol_pb2'
  # @@protoc_insertion_point(class_scope:com.alibaba.otter.canal.protocol.ClientAck)
  ))
_sym_db.RegisterMessage(ClientAck)

Sub = _reflection.GeneratedProtocolMessageType('Sub', (_message.Message,), dict(
  DESCRIPTOR = _SUB,
  __module__ = 'CanalProtocol_pb2'
  # @@protoc_insertion_point(class_scope:com.alibaba.otter.canal.protocol.Sub)
  ))
_sym_db.RegisterMessage(Sub)

Unsub = _reflection.GeneratedProtocolMessageType('Unsub', (_message.Message,), dict(
  DESCRIPTOR = _UNSUB,
  __module__ = 'CanalProtocol_pb2'
  # @@protoc_insertion_point(class_scope:com.alibaba.otter.canal.protocol.Unsub)
  ))
_sym_db.RegisterMessage(Unsub)

Get = _reflection.GeneratedProtocolMessageType('Get', (_message.Message,), dict(
  DESCRIPTOR = _GET,
  __module__ = 'CanalProtocol_pb2'
  # @@protoc_insertion_point(class_scope:com.alibaba.otter.canal.protocol.Get)
  ))
_sym_db.RegisterMessage(Get)

Messages = _reflection.GeneratedProtocolMessageType('Messages', (_message.Message,), dict(
  DESCRIPTOR = _MESSAGES,
  __module__ = 'CanalProtocol_pb2'
  # @@protoc_insertion_point(class_scope:com.alibaba.otter.canal.protocol.Messages)
  ))
_sym_db.RegisterMessage(Messages)

Dump = _reflection.GeneratedProtocolMessageType('Dump', (_message.Message,), dict(
  DESCRIPTOR = _DUMP,
  __module__ = 'CanalProtocol_pb2'
  # @@protoc_insertion_point(class_scope:com.alibaba.otter.canal.protocol.Dump)
  ))
_sym_db.RegisterMessage(Dump)

ClientRollback = _reflection.GeneratedProtocolMessageType('ClientRollback', (_message.Message,), dict(
  DESCRIPTOR = _CLIENTROLLBACK,
  __module__ = 'CanalProtocol_pb2'
  # @@protoc_insertion_point(class_scope:com.alibaba.otter.canal.protocol.ClientRollback)
  ))
_sym_db.RegisterMessage(ClientRollback)


DESCRIPTOR._options = None
# @@protoc_insertion_point(module_scope)
