예제 #1
0
        public void WriteInt32(int val)
        {
            CDRWriter writer = new CDRWriter();

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

            Assert.Equal(val, reader.ReadInt32());
        }
예제 #2
0
        public void WriteBool(bool val)
        {
            CDRWriter writer = new CDRWriter();

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

            Assert.Equal(val, reader.ReadBool());
        }
예제 #3
0
        public void WriteUInt16(ushort val)
        {
            CDRWriter writer = new CDRWriter();

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

            Assert.Equal(val, reader.ReadUInt16());
        }
예제 #4
0
        public void WriteChar(char val)
        {
            CDRWriter writer = new CDRWriter();

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

            Assert.Equal(val, reader.ReadChar());
        }
예제 #5
0
        public void WriteDouble(double val)
        {
            CDRWriter writer = new CDRWriter();

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

            Assert.Equal(val, reader.ReadDouble());
        }
예제 #6
0
        public void WriteSingle(float val)
        {
            CDRWriter writer = new CDRWriter();

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

            Assert.Equal(val, reader.ReadSingle());
        }
예제 #7
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());
        }
예제 #8
0
        public void CDRHeader()
        {
            var val = BitConverter.IsLittleEndian
                ? new byte[] { 0x00, 0x01, 0x00, 0x00 }
                : new byte[] { 0x00, 0x00, 0x00, 0x00 };

            CDRWriter writer = new CDRWriter();

            Assert.Equal(val, writer.GetBuffer().ToArray());
        }
예제 #9
0
    private void PubTwist(double linear, double angular)
    {
        // type to write: geometry_msgs/msg/Twist
        CDRWriter cdrWriter = new CDRWriter();

        // Vector3 linear => float64 x + float64 y + float64 z
        cdrWriter.WriteDouble(linear * _linearScale);
        cdrWriter.WriteDouble(0.0);
        cdrWriter.WriteDouble(0.0);
        // Vector3 angular => float64 x + float64 y + float64 z
        cdrWriter.WriteDouble(0.0);
        cdrWriter.WriteDouble(0.0);
        cdrWriter.WriteDouble(angular * _angularScale);
        _session.Write(_cmdKey, cdrWriter.GetBuffer().ToArray());
    }
예제 #10
0
    static void Main(string[] args)
    {
        try
        {
            // initiate logging
            Zenoh.Zenoh.InitLogger();

            // arguments parsing
            var arguments = Args.Parse <ExampleArgs>(args);
            if (arguments == null)
            {
                return;
            }
            Dictionary <string, string> conf = arguments.GetConf();

            Console.WriteLine("Openning session...");
            var s = Zenoh.Net.Session.Open(conf);

            var rkey = Zenoh.Net.ResKey.RName(arguments.path);

            var userId  = 1;
            var message = arguments.value;
            Console.WriteLine("=== [Publisher]  Writing : Message ({0}, {1})", userId, message);

            CDRWriter writer = new CDRWriter();
            writer.WriteInt32(userId);
            writer.WriteString(message);
            s.Write(rkey, writer.GetBuffer().ToArray());

            s.Dispose();
        }
        catch (ArgException)
        {
            Console.WriteLine(ArgUsage.GenerateUsageFromTemplate <ExampleArgs>());
        }
    }