コード例 #1
0
class RowData(Message):
    # 字段信息,增量数据(修改前,删除前)
    beforeColumns = MessageField(field_number=1,
                                 repeated=True,
                                 message_cls=Column)
    # 字段信息,增量数据(修改后,新增后)
    afterColumns = MessageField(field_number=2,
                                repeated=True,
                                message_cls=Column)
    # 预留扩展
    props = MessageField(field_number=3, repeated=True, message_cls=Pair)
コード例 #2
0
class Header(Message):
    # 协议的版本号
    version = Int32Field(field_number=1, default=1, oneof_id='version_present')
    # binlog/redolog 文件名
    logfileName = StringField(field_number=2)
    # binlog/redolog 文件的偏移位置
    logfileOffset = Int64Field(field_number=3)
    # 服务端serverId
    serverId = Int64Field(field_number=4)
    # 变更数据的编码
    serverenCode = StringField(field_number=5)
    # 变更数据的执行时间
    executeTime = Int64Field(field_number=6)
    # 变更数据的来源
    sourceType = EnumField(field_number=7,
                           default=Type.MYSQL,
                           enum_cls=Type,
                           oneof_id='sourceType_present')
    # 变更数据的schemaname
    schemaName = StringField(field_number=8)
    # 变更数据的tablename
    tableName = StringField(field_number=9)
    # 每个event的长度
    eventLength = Int64Field(field_number=10)
    # 数据变更类型
    eventType = EnumField(field_number=11,
                          default=EventType.UPDATE,
                          enum_cls=EventType,
                          oneof_id='eventType_present')
    # 预留扩展
    props = MessageField(field_number=12, repeated=True, message_cls=Pair)
    # 当前事务的gitd
    gtid = StringField(field_number=13)
コード例 #3
0
class Entry(Message):
    # 协议头部信息
    header = MessageField(field_number=1, message_cls=Header)
    entryType = EnumField(field_number=2,
                          default=EntryType.ROWDATA,
                          enum_cls=EntryType,
                          oneof_id='entryType_present')
    storeValue = BytesField(field_number=3)
コード例 #4
0
class TransactionEnd(Message):
    """结束事务的一些信息"""
    # 已废弃,请使用header里的executeTime
    executeTime = Int64Field(field_number=1)
    # 事务号
    transactionId = StringField(field_number=2)
    # 预留扩展
    props = MessageField(field_number=3, repeated=True, message_cls=Pair)
コード例 #5
0
class TransactionBegin(Message):
    """开始事务的一些信息"""
    # 已废弃,请使用header里的executeTime
    executeTime = Int64Field(field_number=1)
    # 已废弃,Begin里不提供事务id
    transactionId = StringField(field_number=2)
    # 预留扩展
    props = MessageField(field_number=3, repeated=True, message_cls=Pair)
    # 执行的thread Id
    threadId = Int64Field(field_number=4)
コード例 #6
0
class RowChange(Message):
    """message row 每行变更数据的数据结构"""
    # tableId,由数据库产生
    tableId = Int64Field(field_number=1)
    # 数据变更类型
    eventType = EnumField(field_number=2,
                          default=EventType.UPDATE,
                          enum_cls=EventType,
                          oneof_id='eventType_present')
    # 标识是否是ddl语句
    isDdl = BoolField(field_number=10, default=False, oneof_id='isDdl_present')
    # ddl/query的sql语句
    sql = StringField(field_number=11)
    # 一次数据库变更可能存在多行
    rowDatas = MessageField(field_number=12,
                            repeated=True,
                            message_cls=RowData)
    # 预留扩展
    props = MessageField(field_number=13, repeated=True, message_cls=Pair)
    # ddl/query的schemaName,会存在跨库ddl,需要保留执行ddl的当前schemaName
    ddlSchemaName = StringField(field_number=14, optional=True)
コード例 #7
0
class Column(Message):
    """每个字段的数据结构"""
    # 字段下标
    index = Int32Field(field_number=1)
    # 字段java中类型
    sqlType = Int32Field(field_number=2)
    # 字段名称(忽略大小写),在mysql中是没有的
    name = StringField(field_number=3)
    # 是否是主键
    isKey = BoolField(field_number=4)
    # 如果EventType=UPDATE,用于标识这个字段值是否有修改
    updated = BoolField(field_number=5)
    # 标识是否为空
    isNull = BoolField(field_number=6, default=False)
    # 预留扩展
    props = MessageField(field_number=7, repeated=True, message_cls=Pair)
    # 字段值,timestamp,Datetime是一个时间格式的文本
    value = StringField(field_number=8)
    # 对应数据对象原始长度
    length = Int32Field(field_number=9)
    # 字段mysql类型
    mysqlType = StringField(field_number=10)

    def to_json(self):
        return {
            'index': self.index,
            'sqlType': self.sqlType,
            'name': self.name,
            'isKey': self.isKey,
            'updated': self.updated,
            'isNull': self.isNull,
            'props': [p.to_json() for p in self.props],
            'value': self.value,
            'length': self.length,
            'mysqlType': self.mysqlType
        }
コード例 #8
0

class SocketFamily(Enum):
    INET = 1
    INET6 = 2


class SocketProtocol(Enum):
    UDP = 1
    TCP = 2

Dnstap.add_field('identity', BytesField(field_number=1, optional=True))
Dnstap.add_field('version', BytesField(field_number=2, optional=True))
Dnstap.add_field('extra', BytesField(field_number=3, optional=True))
Dnstap.add_field('type', EnumField(field_number=15, required=True, enum_cls=Dnstap.Type))
Dnstap.add_field('message', MessageField(field_number=14, optional=True, message_cls=Message))
Message.add_field('type', EnumField(field_number=1, required=True, enum_cls=Message.Type))
Message.add_field('socket_family', EnumField(field_number=2, optional=True, enum_cls=SocketFamily))
Message.add_field('socket_protocol', EnumField(field_number=3, optional=True, enum_cls=SocketProtocol))
Message.add_field('query_address', BytesField(field_number=4, optional=True))
Message.add_field('response_address', BytesField(field_number=5, optional=True))
Message.add_field('query_port', UInt32Field(field_number=6, optional=True))
Message.add_field('response_port', UInt32Field(field_number=7, optional=True))
Message.add_field('query_time_sec', UInt64Field(field_number=8, optional=True))
Message.add_field('query_time_nsec', Fixed32Field(field_number=9, optional=True))
Message.add_field('query_message', BytesField(field_number=10, optional=True))
Message.add_field('query_zone', BytesField(field_number=11, optional=True))
Message.add_field('response_time_sec', UInt64Field(field_number=12, optional=True))
Message.add_field('response_time_nsec', Fixed32Field(field_number=13, optional=True))
Message.add_field('response_message', BytesField(field_number=14, optional=True))
コード例 #9
0
ファイル: protocol.py プロジェクト: bshishov/LudumDare40
EntityState.add_field('side',
                      EnumField(field_number=3, optional=True, enum_cls=Side))
EntityState.add_field('hp', Int32Field(field_number=4, optional=True))
EntityState.add_field('energy', Int32Field(field_number=5, optional=True))
EntityState.add_field('max_energy', Int32Field(field_number=6, optional=True))
EntityState.add_field('energy_gain', Int32Field(field_number=7, optional=True))
EntityState.add_field('muted', BoolField(field_number=8, optional=True))
EntityState.add_field('armed', BoolField(field_number=9, optional=True))
EntityState.add_field('locked', BoolField(field_number=10, optional=True))
EntityState.add_field('damage_mod', Int32Field(field_number=11, optional=True))
EntityState.add_field('buffable', BoolField(field_number=12, optional=True))
EntityState.add_field('is_player', BoolField(field_number=13, optional=True))
EntityState.add_field('position', Int32Field(field_number=14, optional=True))
EntityState.add_field(
    'buffs', MessageField(field_number=15,
                          repeated=True,
                          message_cls=BuffState))
EntityState.add_field('weapon_name', StringField(field_number=16,
                                                 optional=True))
EntityState.add_field('ship_name', StringField(field_number=17, optional=True))
EntityState.add_field('hand_cards', Int32Field(field_number=18, optional=True))
EntityState.add_field('deck_cards', Int32Field(field_number=19, optional=True))
EntityState.add_field(
    'hand', MessageField(field_number=20, repeated=True,
                         message_cls=CardState))
GameState.add_field('id', StringField(field_number=1, optional=True))
GameState.add_field('turn',
                    EnumField(field_number=2, optional=True, enum_cls=Side))
GameState.add_field(
    'objects',
    MessageField(field_number=3, repeated=True, message_cls=EntityState))
コード例 #10
0
from protobuf3.message import Message
from protobuf3.fields import MessageField, Int32Field, StringField


class BaseReply(Message):
    class SpareParameterEntry(Message):
        pass


BaseReply.SpareParameterEntry.add_field(
    'key', StringField(field_number=1, optional=True))
BaseReply.SpareParameterEntry.add_field(
    'value', StringField(field_number=2, optional=True))
BaseReply.add_field('Code', Int32Field(field_number=1, optional=True))
BaseReply.add_field('Message', StringField(field_number=2, optional=True))
BaseReply.add_field(
    'spareParameter',
    MessageField(field_number=3,
                 repeated=True,
                 message_cls=BaseReply.SpareParameterEntry))
コード例 #11
0
from protobuf3.message import Message
from protobuf3.fields import MessageField, BoolField, DoubleField


class MemoryFramePb(Message):
    pass


class EpisodeMemoryFramePb(Message):
    pass


MemoryFramePb.add_field('obs', DoubleField(field_number=1, repeated=True))
MemoryFramePb.add_field('act', DoubleField(field_number=2, repeated=True))
MemoryFramePb.add_field('rew', DoubleField(field_number=3, optional=True))
MemoryFramePb.add_field('next_obs', DoubleField(field_number=4, repeated=True))
MemoryFramePb.add_field('done', BoolField(field_number=5, optional=True))
EpisodeMemoryFramePb.add_field(
    'memory_frame',
    MessageField(field_number=1, repeated=True, message_cls=MemoryFramePb))
コード例 #12
0
SnapshotP.PoseP.TranslationP.add_field(
    'y', DoubleField(field_number=2, optional=True))
SnapshotP.PoseP.TranslationP.add_field(
    'z', DoubleField(field_number=3, optional=True))
SnapshotP.PoseP.RotationP.add_field('x',
                                    DoubleField(field_number=1, optional=True))
SnapshotP.PoseP.RotationP.add_field('y',
                                    DoubleField(field_number=2, optional=True))
SnapshotP.PoseP.RotationP.add_field('z',
                                    DoubleField(field_number=3, optional=True))
SnapshotP.PoseP.RotationP.add_field('w',
                                    DoubleField(field_number=4, optional=True))
SnapshotP.PoseP.add_field(
    'translation',
    MessageField(field_number=1,
                 optional=True,
                 message_cls=SnapshotP.PoseP.TranslationP))
SnapshotP.PoseP.add_field(
    'rotation',
    MessageField(field_number=2,
                 optional=True,
                 message_cls=SnapshotP.PoseP.RotationP))
SnapshotP.ColorImageP.add_field('width',
                                UInt32Field(field_number=1, optional=True))
SnapshotP.ColorImageP.add_field('height',
                                UInt32Field(field_number=2, optional=True))
SnapshotP.ColorImageP.add_field('data',
                                BytesField(field_number=3, optional=True))
SnapshotP.DepthImageP.add_field('width',
                                UInt32Field(field_number=1, optional=True))
SnapshotP.DepthImageP.add_field('height',
コード例 #13
0
ControlPointFileEntryV0002.Measure.add_field(
    'jigsawRejected', BoolField(field_number=11, optional=True))
ControlPointFileEntryV0002.Measure.add_field(
    'diameter', DoubleField(field_number=12, optional=True))
ControlPointFileEntryV0002.Measure.add_field(
    'apriorisample', DoubleField(field_number=13, optional=True))
ControlPointFileEntryV0002.Measure.add_field(
    'aprioriline', DoubleField(field_number=14, optional=True))
ControlPointFileEntryV0002.Measure.add_field(
    'samplesigma', DoubleField(field_number=15, optional=True))
ControlPointFileEntryV0002.Measure.add_field(
    'linesigma', DoubleField(field_number=16, optional=True))
ControlPointFileEntryV0002.Measure.add_field(
    'log',
    MessageField(
        field_number=17,
        repeated=True,
        message_cls=ControlPointFileEntryV0002.Measure.MeasureLogData))
ControlPointFileEntryV0002.add_field(
    'id', StringField(field_number=1, required=True))
ControlPointFileEntryV0002.add_field(
    'type',
    EnumField(field_number=2,
              required=True,
              enum_cls=ControlPointFileEntryV0002.PointType))
ControlPointFileEntryV0002.add_field(
    'chooserName', StringField(field_number=3, optional=True))
ControlPointFileEntryV0002.add_field(
    'datetime', StringField(field_number=4, optional=True))
ControlPointFileEntryV0002.add_field('editLock',
                                     BoolField(field_number=5, optional=True))
ControlPointFileEntryV0002.add_field('ignore',
コード例 #14
0
ファイル: network_pb3.py プロジェクト: adis300/ffnn-c
class Weight(Message):
    pass


class Bias(Message):
    pass


class Network(Message):
    class ActivationType(Enum):
        SIGMOID = 0
        LINEAR = 1
        RELU = 2
        THRESHOLD = 3
        SOFTMAX = 4


Weight.add_field('col', Int32Field(field_number=1, optional=True))
Weight.add_field('row', Int32Field(field_number=2, optional=True))
Weight.add_field('grid', DoubleField(field_number=3, repeated=True))
Bias.add_field('vector', DoubleField(field_number=1, repeated=True))
Network.add_field('layerSizes', Int32Field(field_number=1, repeated=True))
Network.add_field(
    'activations',
    EnumField(field_number=2, repeated=True, enum_cls=Network.ActivationType))
Network.add_field(
    'weights', MessageField(field_number=3, repeated=True, message_cls=Weight))
Network.add_field(
    'biases', MessageField(field_number=4, repeated=True, message_cls=Bias))
コード例 #15
0
    class MapEdge(Message):
        pass


Iso.MapNode.add_field('id_1', UInt64Field(field_number=1, required=True))
Iso.MapNode.add_field('id_2', UInt64Field(field_number=2, required=True))
Iso.MapNode.add_field('weight', DoubleField(field_number=3, optional=True))
Iso.MapEdge.add_field('id_1', UInt64Field(field_number=1, required=True))
Iso.MapEdge.add_field('id_2', UInt64Field(field_number=2, required=True))
Iso.MapEdge.add_field('weight', DoubleField(field_number=3, optional=True))
Iso.add_field('graph_1_id', StringField(field_number=1, required=True))
Iso.add_field('graph_2_id', StringField(field_number=2, required=True))
Iso.add_field(
    'map_node',
    MessageField(field_number=3, repeated=True, message_cls=Iso.MapNode))
Iso.add_field(
    'map_edge',
    MessageField(field_number=4, repeated=True, message_cls=Iso.MapEdge))
Iso.add_field('weight', DoubleField(field_number=5, optional=True))
Iso.add_field('obj_value', DoubleField(field_number=6, optional=True))
Iso.add_field('dataNodeMatchCount', UInt64Field(field_number=7, optional=True))
Iso.add_field('dataEdgeMatchCount', UInt64Field(field_number=8, optional=True))
Iso.add_field('controlEdgeMatchCount',
              UInt64Field(field_number=9, optional=True))
Iso.add_field('methodNodeMatchCount',
              UInt64Field(field_number=10, optional=True))
Iso.add_field('averageMatchWeight', DoubleField(field_number=11,
                                                optional=True))
Iso.add_field('averageDataNodeInDegree',
              DoubleField(field_number=12, optional=True))
コード例 #16
0
ファイル: consumer.py プロジェクト: harishbisht/kafka-docker
class Details(Message):
    data = MessageField(field_number=1, repeated=True, message_cls=Transaction)
コード例 #17
0
    class AnswerType(Enum):
        STRING = 0
        INT = 1
        DOUBLE = 2

    class Answer(Message):
        pass


class AddTask(Message):
    pass


Task.Answer.add_field('data', Int32Field(field_number=1, required=True))
Task.Answer.add_field(
    'type',
    EnumField(field_number=2,
              optional=True,
              enum_cls=Task.AnswerType,
              default=Task.AnswerType.INT))
Task.add_field('id', Int32Field(field_number=1, required=True))
Task.add_field('title', StringField(field_number=2, optional=True))
Task.add_field('content', StringField(field_number=3, optional=True))
Task.add_field('score', Int32Field(field_number=4, required=True))
Task.add_field('author', StringField(field_number=5, optional=True))
Task.add_field(
    'answer',
    MessageField(field_number=6, repeated=True, message_cls=Task.Answer))
AddTask.add_field(
    'task', MessageField(field_number=1, repeated=True, message_cls=Task))
コード例 #18
0
ファイル: reader_pb.py プロジェクト: npeleg/brain_freeze

class DepthImage(Message):
    pass


class Feelings(Message):
    pass


User.add_field('user_id', UInt64Field(field_number=1, optional=True))
User.add_field('username', StringField(field_number=2, optional=True))
User.add_field('birthday', UInt32Field(field_number=3, optional=True))
User.add_field('gender', EnumField(field_number=4, optional=True, enum_cls=User.Gender))
Snapshot.add_field('datetime', UInt64Field(field_number=1, optional=True))
Snapshot.add_field('pose', MessageField(field_number=2, optional=True, message_cls=Pose))
Snapshot.add_field('color_image', MessageField(field_number=3, optional=True, message_cls=ColorImage))
Snapshot.add_field('depth_image', MessageField(field_number=4, optional=True, message_cls=DepthImage))
Snapshot.add_field('feelings', MessageField(field_number=5, optional=True, message_cls=Feelings))
Pose.Translation.add_field('x', DoubleField(field_number=1, optional=True))
Pose.Translation.add_field('y', DoubleField(field_number=2, optional=True))
Pose.Translation.add_field('z', DoubleField(field_number=3, optional=True))
Pose.Rotation.add_field('x', DoubleField(field_number=1, optional=True))
Pose.Rotation.add_field('y', DoubleField(field_number=2, optional=True))
Pose.Rotation.add_field('z', DoubleField(field_number=3, optional=True))
Pose.Rotation.add_field('w', DoubleField(field_number=4, optional=True))
Pose.add_field('translation', MessageField(field_number=1, optional=True, message_cls=Pose.Translation))
Pose.add_field('rotation', MessageField(field_number=2, optional=True, message_cls=Pose.Rotation))
ColorImage.add_field('width', UInt32Field(field_number=1, optional=True))
ColorImage.add_field('height', UInt32Field(field_number=2, optional=True))
ColorImage.add_field('data', BytesField(field_number=3, optional=True))
コード例 #19
0
ファイル: exchange.py プロジェクト: reidrankin/python-keepkey
class ExchangeResponseV2(Message):
    pass


class SignedExchangeResponse(Message):
    pass


class ExchangeResponse(Message):
    pass

ExchangeAddress.add_field('coin_type', StringField(field_number=1, optional=True))
ExchangeAddress.add_field('address', StringField(field_number=2, optional=True))
ExchangeAddress.add_field('dest_tag', StringField(field_number=3, optional=True))
ExchangeAddress.add_field('rs_address', StringField(field_number=4, optional=True))
ExchangeResponseV2.add_field('deposit_address', MessageField(field_number=1, optional=True, message_cls=ExchangeAddress))
ExchangeResponseV2.add_field('deposit_amount', BytesField(field_number=2, optional=True))
ExchangeResponseV2.add_field('expiration', Int64Field(field_number=3, optional=True))
ExchangeResponseV2.add_field('quoted_rate', BytesField(field_number=4, optional=True))
ExchangeResponseV2.add_field('withdrawal_address', MessageField(field_number=5, optional=True, message_cls=ExchangeAddress))
ExchangeResponseV2.add_field('withdrawal_amount', BytesField(field_number=6, optional=True))
ExchangeResponseV2.add_field('return_address', MessageField(field_number=7, optional=True, message_cls=ExchangeAddress))
ExchangeResponseV2.add_field('api_key', BytesField(field_number=8, optional=True))
ExchangeResponseV2.add_field('miner_fee', BytesField(field_number=9, optional=True))
ExchangeResponseV2.add_field('order_id', BytesField(field_number=10, optional=True))
SignedExchangeResponse.add_field('response', MessageField(field_number=1, optional=True, message_cls=ExchangeResponse))
SignedExchangeResponse.add_field('signature', BytesField(field_number=2, optional=True))
SignedExchangeResponse.add_field('responseV2', MessageField(field_number=3, optional=True, message_cls=ExchangeResponseV2))
ExchangeResponse.add_field('deposit_address', MessageField(field_number=1, optional=True, message_cls=ExchangeAddress))
ExchangeResponse.add_field('deposit_amount', UInt64Field(field_number=2, optional=True))
ExchangeResponse.add_field('expiration', Int64Field(field_number=3, optional=True))
コード例 #20
0
Acdfg.ExceptionalControlEdge.add_field('id', UInt64Field(field_number=1, required=True))
Acdfg.ExceptionalControlEdge.add_field('from', UInt64Field(field_number=2, required=True))
Acdfg.ExceptionalControlEdge.add_field('to', UInt64Field(field_number=3, required=True))
Acdfg.ExceptionalControlEdge.add_field('exceptions', StringField(field_number=4, repeated=True))
Acdfg.LabelMap.add_field('edge_id', UInt64Field(field_number=1, required=True))
Acdfg.LabelMap.add_field('labels', EnumField(field_number=2, repeated=True, enum_cls=Acdfg.EdgeLabel))
Acdfg.RepoTag.add_field('repo_name', StringField(field_number=1, optional=True))
Acdfg.RepoTag.add_field('user_name', StringField(field_number=2, optional=True))
Acdfg.RepoTag.add_field('url', StringField(field_number=3, optional=True))
Acdfg.RepoTag.add_field('commit_hash', StringField(field_number=4, optional=True))
Acdfg.MethodBag.add_field('method', StringField(field_number=1, repeated=True))
Acdfg.SourceInfo.add_field('package_name', StringField(field_number=1, optional=True))
Acdfg.SourceInfo.add_field('class_name', StringField(field_number=2, optional=True))
Acdfg.SourceInfo.add_field('method_name', StringField(field_number=3, optional=True))
Acdfg.SourceInfo.add_field('class_line_number', UInt32Field(field_number=4, optional=True))
Acdfg.SourceInfo.add_field('method_line_number', UInt32Field(field_number=5, optional=True))
Acdfg.SourceInfo.add_field('source_class_name', StringField(field_number=6, optional=True))
Acdfg.SourceInfo.add_field('abs_source_class_name', StringField(field_number=7, optional=True))
Acdfg.add_field('data_node', MessageField(field_number=1, repeated=True, message_cls=Acdfg.DataNode))
Acdfg.add_field('misc_node', MessageField(field_number=2, repeated=True, message_cls=Acdfg.MiscNode))
Acdfg.add_field('method_node', MessageField(field_number=3, repeated=True, message_cls=Acdfg.MethodNode))
Acdfg.add_field('control_edge', MessageField(field_number=4, repeated=True, message_cls=Acdfg.ControlEdge))
Acdfg.add_field('def_edge', MessageField(field_number=5, repeated=True, message_cls=Acdfg.DefEdge))
Acdfg.add_field('use_edge', MessageField(field_number=6, repeated=True, message_cls=Acdfg.UseEdge))
Acdfg.add_field('trans_edge', MessageField(field_number=7, repeated=True, message_cls=Acdfg.TransEdge))
Acdfg.add_field('exceptional_edge', MessageField(field_number=12, repeated=True, message_cls=Acdfg.ExceptionalControlEdge))
Acdfg.add_field('edge_labels', MessageField(field_number=11, repeated=True, message_cls=Acdfg.LabelMap))
Acdfg.add_field('repo_tag', MessageField(field_number=8, optional=True, message_cls=Acdfg.RepoTag))
Acdfg.add_field('source_info', MessageField(field_number=10, optional=True, message_cls=Acdfg.SourceInfo))
Acdfg.add_field('method_bag', MessageField(field_number=9, optional=True, message_cls=Acdfg.MethodBag))