Ejemplo n.º 1
0
class Get(Message):
    """PullRequest"""
    destination = StringField(field_number=1)
    client_id = StringField(field_number=2)
    fetch_size = Int32Field(field_number=3)
    # 默认-1时代表不控制
    timeout = Int64Field(field_number=4,
                         default=-1,
                         oneof_id='timeout_present')
    # 数字类型,0:纳秒,1:毫秒,2:微秒,3:秒,4:分钟,5:小时,6:天
    unit = Int32Field(field_number=5, default=2, oneof_id='unit_present')
    # 是否自动ack
    auto_ack = BoolField(field_number=6,
                         default=False,
                         oneof_id='auto_ack_present')
Ejemplo n.º 2
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
        }
Ejemplo n.º 3
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)
Ejemplo n.º 4
0

BuffState.add_field('name', StringField(field_number=1, optional=True))
BuffState.add_field('duration', Int32Field(field_number=2, optional=True))
CardState.add_field('name', StringField(field_number=1, optional=True))
CardState.add_field('cost_offense', Int32Field(field_number=2, optional=True))
CardState.add_field('cost_defense', Int32Field(field_number=3, optional=True))
EntityState.add_field('id', Int32Field(field_number=1, optional=True))
EntityState.add_field('name', StringField(field_number=2, optional=True))
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))
Ejemplo n.º 5
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))
Ejemplo n.º 6
0
class AdbModeRequest(Message):
    enable = BoolField(field_number=1)
Ejemplo n.º 7
0
class OtaEnabledResponse(Message):
    enabled = BoolField(field_number=1)
Ejemplo n.º 8
0
class OtaEnabledRequest(Message):
    enable = BoolField(field_number=1)
Ejemplo n.º 9
0
class HelloSignedData(Message):
    serverPublicKey = BytesField(field_number=1)
    authenticationChallenge = BytesField(field_number=2)
    deviceNeedsToBeUnlocked = BoolField(field_number=3)
Ejemplo n.º 10
0
                                    StringField(field_number=4, optional=True))
ControlNetFileHeaderV0002.add_field('description',
                                    StringField(field_number=5, optional=True))
ControlNetFileHeaderV0002.add_field('userName',
                                    StringField(field_number=6, optional=True))
ControlNetFileHeaderV0002.add_field('pointMessageSizes',
                                    Int32Field(field_number=7, repeated=True))

ControlPointFileEntryV0002.PointLogData.add_field(
    'doubleDataType', Int32Field(field_number=1, optional=True))
ControlPointFileEntryV0002.PointLogData.add_field(
    'doubleDataValue', DoubleField(field_number=2, optional=True))
ControlPointFileEntryV0002.PointLogData.add_field(
    'boolDataType', Int32Field(field_number=3, optional=True))
ControlPointFileEntryV0002.PointLogData.add_field(
    'boolDataValue', BoolField(field_number=4, optional=True))
ControlPointFileEntryV0002.Measure.MeasureLogData.add_field(
    'doubleDataType', Int32Field(field_number=1, optional=True))
ControlPointFileEntryV0002.Measure.MeasureLogData.add_field(
    'doubleDataValue', DoubleField(field_number=2, optional=True))
ControlPointFileEntryV0002.Measure.MeasureLogData.add_field(
    'boolDataType', Int32Field(field_number=3, optional=True))
ControlPointFileEntryV0002.Measure.MeasureLogData.add_field(
    'boolDataValue', BoolField(field_number=4, optional=True))
ControlPointFileEntryV0002.Measure.add_field(
    'serialnumber', StringField(field_number=1, required=True))
ControlPointFileEntryV0002.Measure.add_field(
    'type',
    EnumField(field_number=2,
              required=True,
              enum_cls=ControlPointFileEntryV0002.Measure.MeasureType))