コード例 #1
0
def write_entity(e, output_stream):
    tmp_output_stream = OutputStream()
    e.write(tmp_output_stream)
    write_str(e.get_urn(), output_stream)
    write_int32(e.get_id().get_value(), output_stream)
    write_int32(len(tmp_output_stream.getvalue()), output_stream)
    output_stream.write(tmp_output_stream.getvalue())
コード例 #2
0
def write_msg(msg, output_stream):
    tmp_output_stream = OutputStream()
    msg.write(tmp_output_stream)
    msg_data = tmp_output_stream.getvalue()

    write_str(msg.urn, output_stream)
    write_int32(len(msg_data), output_stream)
    output_stream.write(msg_data)
コード例 #3
0
def write_property(p, output_stream):
    write_str(p.get_urn(), output_stream)
    write_boolean(p.is_defined(), output_stream)
    if p.is_defined():
        tmp_output = OutputStream()
        p.write(tmp_output)
        write_int32(len(tmp_output.getvalue()), output_stream)
        output_stream.write(tmp_output.getvalue())
コード例 #4
0
 def send_msg(self, msg):
     tmp_output_stream = OutputStream()
     write_msg(msg, tmp_output_stream)
     write_int32(0, tmp_output_stream)
     msg_data = tmp_output_stream.getvalue()
     output_stream = OutputStream()
     # first write the size of the message
     write_int32(len(msg_data), output_stream)
     output_stream.write(msg_data)
     self.send_bytes(output_stream.getvalue())
コード例 #5
0
def read_float32_from_byte_arr(byte_array):
    value = float((ord(byte_array[0]) << 24) + (ord(byte_array[1]) << 18) +
                  (ord(byte_array[2]) << 8) + ord(byte_array[3]))
    return value


def write_float32(value, output_stream):
    output_stream.write(chr((value >> 24) & 0xFF))
    output_stream.write(chr((value >> 16) & 0xFF))
    output_stream.write(chr((value >> 8) & 0xFF))
    output_stream.write(chr(value & 0xFF))
    return


if __name__ == '__main__':
    print("writing the value:549139337")
    output_stream = OutputStream()
    write_int32(549139337, output_stream)
    four_bytes = output_stream.getvalue()
    for my_ch in four_bytes:
        print(ord(my_ch))

    print("reading back")
    input_stream = InputStream(four_bytes)
    read_four_bytes = input_stream.read(4)
    for read_ch in read_four_bytes:
        print(ord(read_ch))

    print("read value:" + str(read_int32_from_byte_arr(read_four_bytes)))