| 1234567891011121314151617181920212223242526 |
- import struct
- from .text_data_pb2 import TextData
- def read_pb_stream(f):
- while True:
- buf = f.read(4)
- if len(buf) == 0:
- break
- size = struct.unpack("I", buf)[0]
- buf = f.read(size)
- text_data = TextData()
- text_data.ParseFromString(buf)
- yield text_data
- def write_pb_stream(f, text_data):
- buf = text_data.SerializeToString()
- f.write(struct.pack("I", len(buf)))
- f.write(buf)
- def pack_pb_stream(text_data):
- buf = text_data.SerializeToString()
- return struct.pack("I", len(buf)) + buf
|