Example #1
0
        public void WriteUInt32(uint val)
        {
            CDRWriter writer = new CDRWriter();

            writer.WriteUInt32(val);
            CDRReader reader = new CDRReader(writer.GetBuffer().ToArray());

            Assert.Equal(val, reader.ReadUInt32());
        }
Example #2
0
    private void OutCallback(Zenoh.Net.Sample sample)
    {
        // received type: rcl_interfaces/msg/Log
        CDRReader reader = new CDRReader(sample.Payload);
        // builtin_interfaces/Time stamp => int32 sec + uint32 nanosec
        var stamp_sec     = reader.ReadInt32();
        var stamp_nanosec = reader.ReadUInt32();
        // uint8 level
        var level = reader.ReadByte();
        // string name
        var name = reader.ReadString();
        // string msg
        var msg = reader.ReadString();
        // string file
        var file = reader.ReadString();
        // string function
        var function = reader.ReadString();
        // uint32 line
        var line = reader.ReadUInt32();

        Console.WriteLine("[{0}.{1}] [{2}]: {3}", stamp_sec, stamp_nanosec, name, msg);
    }
Example #3
0
        public void BasicTypesAlignment()
        {
            var buf = new byte[] {
                0x00, 0x00, 0x00, 0x00,                          // Header
                0xFF,                                            // 1 byte to force padding
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,        // padding for 8-bytes alignment
                0x0A, 0x0B, 0x0C, 0X0D, 0x0E, 0x0F, 0x01, 0X02,  // uint64
                0xFF,                                            // 1 byte to force padding
                0x00, 0x00, 0x00,                                // padding for 4-bytes alignment
                0x0A, 0x0B, 0x0C, 0X0D,                          // uint32
                0xFF,                                            // 1 byte to force padding
                0x00,                                            // padding for 2-bytes alignment
                0x0A, 0x0B,                                      // uint16
                0xFF, 0xFF, 0xFF, 0xFF, 0xFF,                    // 5 bytes to force padding
                0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,        // padding for 8-bytes alignment
                0x3F, 0x84, 0x7A, 0xE1, 0x47, 0xAE, 0x14, 0x7B,  // double
                0xFF,                                            // 1 byte to force padding
                0x00, 0x00, 0x00,                                // padding for 4-bytes alignment
                0x3C, 0x23, 0xD7, 0x0A,                          // float
                0xFF,                                            // 1 byte to force padding
                0x00, 0x00, 0x00,                                // padding for 4-bytes alignment
                0x00, 0x00, 0x00, 0x0D,                          // "Hello World!"
                0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20,
                0x57, 0x6f, 0x72, 0x6c, 0x64, 0x21, 0x00
            };

            CDRReader reader = new CDRReader(buf);

            Assert.Equal(0xFF, reader.ReadByte());
            Assert.Equal(0x0A0B0C0D0E0F0102UL, reader.ReadUInt64());
            Assert.Equal(0xFF, reader.ReadByte());
            Assert.Equal(0x0A0B0C0DU, reader.ReadUInt32());
            Assert.Equal(0xFF, reader.ReadByte());
            Assert.Equal(0x0A0B, reader.ReadUInt16());

            Assert.Equal(0xFF, reader.ReadByte());
            Assert.Equal(0xFF, reader.ReadByte());
            Assert.Equal(0xFF, reader.ReadByte());
            Assert.Equal(0xFF, reader.ReadByte());
            Assert.Equal(0xFF, reader.ReadByte());
            Assert.Equal(0.01, reader.ReadDouble());
            Assert.Equal(0xFF, reader.ReadByte());
            Assert.Equal(0.01f, reader.ReadSingle());
            Assert.Equal(0xFF, reader.ReadByte());
            Assert.Equal("Hello World!", reader.ReadString());
        }
Example #4
0
        public void ReadUInt32(uint expected, byte[] buf)
        {
            CDRReader reader = new CDRReader(buf);

            Assert.Equal(expected, reader.ReadUInt32());
        }