Ejemplo n.º 1
0
        public void WriteString(string val)
        {
            CDRWriter writer = new CDRWriter();

            writer.WriteString(val);
            Assert.Equal(4 + 4 + val.Length + 1, writer.GetBuffer().Length);
            CDRReader reader = new CDRReader(writer.GetBuffer().ToArray());

            Assert.Equal(val, reader.ReadString());
        }
Ejemplo n.º 2
0
    public static void SubscriberCallback(Zenoh.Net.Sample sample)
    {
        CDRReader reader  = new CDRReader(sample.Payload);
        var       userID  = reader.ReadInt32();
        var       message = reader.ReadString();

        Console.WriteLine("=== [Subscriber] Received : Message ({0}, {1})",
                          userID,
                          message);
    }
Ejemplo n.º 3
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);
    }
Ejemplo n.º 4
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());
        }
Ejemplo n.º 5
0
        public void ReadString(string expected, byte[] buf)
        {
            CDRReader reader = new CDRReader(buf);

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