def __init__(self, start_from, **kwargs):
self.flags = Flags()
if start_from == 0 or start_from == 0xFFFFFFFF:
self.timestamp = start_from
else:
try:
datetime.fromtimestamp(start_from)
except TypeError as exc:
raise_from(InvalidTimestampError('Timestamp invalid (0, 0xFFFFFFFF, or Unix Timestamp'), exc)
else:
self.timestamp = start_from
for k,v in iteritems(kwargs):
try:
getattr(self.flags.flag, k)
setattr(self.flags.flag, k, int(v))
except AttributeError as exc:
raise_from(InvalidFlagError('Invalid flag: {}'.format(k)), exc)
# save the timestamp and flags for reuse (if needed)
Struct.set_ts(self.timestamp)
Struct.set_flags(self.flags.from_bytes)
# build the request
self.event_request = EventRequest(timestamp=self.timestamp,flags=self.flags.from_bytes)
self.message_header = MessageHeader(type=2, data=self.event_request.pack())
self.record = self.message_header.pack()
评论列表
文章目录