Пример #1
0
        /// <summary>Helper: create a new instance to deserializing into</summary>
        public static CDTIReport Deserialize(Stream stream)
        {
            CDTIReport instance = new CDTIReport();

            Deserialize(stream, instance);
            return(instance);
        }
Пример #2
0
        /// <summary>Helper: create a new instance to deserializing into</summary>
        public static CDTIReport DeserializeLengthDelimited(Stream stream)
        {
            CDTIReport instance = new CDTIReport();

            DeserializeLengthDelimited(stream, instance);
            return(instance);
        }
Пример #3
0
        /// <summary>Helper: create a new instance to deserializing into</summary>
        public static CDTIReport DeserializeLength(Stream stream, int length)
        {
            CDTIReport instance = new CDTIReport();

            DeserializeLength(stream, length, instance);
            return(instance);
        }
Пример #4
0
        /// <summary>Helper: Serialize with a varint length prefix</summary>
        public static void SerializeLengthDelimited(Stream stream, CDTIReport instance)
        {
            var data = SerializeToBytes(instance);

            global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteUInt32(stream, (uint)data.Length);
            stream.Write(data, 0, data.Length);
        }
Пример #5
0
        /// <summary>Helper: put the buffer into a MemoryStream and create a new instance to deserializing into</summary>
        public static CDTIReport Deserialize(byte[] buffer)
        {
            CDTIReport instance = new CDTIReport();

            using (var ms = new MemoryStream(buffer))
                Deserialize(ms, instance);
            return(instance);
        }
Пример #6
0
 /// <summary>Helper: Serialize into a MemoryStream and return its byte array</summary>
 public static byte[] SerializeToBytes(CDTIReport instance)
 {
     using (var ms = new MemoryStream())
     {
         Serialize(ms, instance);
         return(ms.ToArray());
     }
 }
Пример #7
0
        /// <summary>Serialize the instance into the stream</summary>
        public static void Serialize(Stream stream, CDTIReport instance)
        {
            BinaryWriter bw      = new BinaryWriter(stream);
            var          msField = global::SilentOrbit.ProtocolBuffers.ProtocolParser.Stack.Pop();

            stream.WriteByte(0);

            // Key for field: 1, Fixed64
            stream.WriteByte(9);
            bw.Write(instance.Timestamp);
            if (instance.Ownship == null)
            {
                throw new ArgumentNullException("Ownship", "Required by proto specification.");
            }
            // Key for field: 2, LengthDelimited
            stream.WriteByte(18);
            msField.SetLength(0);
            Example.CDTIPlane.Serialize(msField, instance.Ownship);
            // Length delimited byte array
            uint length2 = (uint)msField.Length;

            global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteUInt32(stream, length2);
            stream.Write(msField.GetBuffer(), 0, (int)length2);

            if (instance.AdvisoryMessage != null)
            {
                // Key for field: 3, LengthDelimited
                stream.WriteByte(26);
                global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteBytes(stream, Encoding.UTF8.GetBytes(instance.AdvisoryMessage));
            }
            // Key for field: 4, Varint
            stream.WriteByte(32);
            global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteUInt64(stream, (ulong)instance.AdvisoryLevel);
            if (instance.Planes != null)
            {
                foreach (var i5 in instance.Planes)
                {
                    // Key for field: 5, LengthDelimited
                    stream.WriteByte(42);
                    msField.SetLength(0);
                    Example.CDTIPlane.Serialize(msField, i5);
                    // Length delimited byte array
                    uint length5 = (uint)msField.Length;
                    global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteUInt32(stream, length5);
                    stream.Write(msField.GetBuffer(), 0, (int)length5);
                }
            }
            stream.WriteByte(0);
            stream.WriteByte(0);
            stream.WriteByte(0);
            global::SilentOrbit.ProtocolBuffers.ProtocolParser.Stack.Push(msField);
        }
Пример #8
0
        private static void send()
        {
            Example.CDTIReport report  = new Example.CDTIReport();
            Example.CDTIPlane  ownship = new Example.CDTIPlane();
            ownship.Id             = "2";
            ownship.Position       = new Example.Vector(5, 3, 4);
            ownship.Velocity       = new Example.Vector(5, 3, 4);
            ownship.severity       = (Example.CDTIPlane.Severity.TRAFFIC);
            report.Ownship         = ownship;
            report.Timestamp       = 1;
            report.AdvisoryLevel   = (Example.CDTIReport.Severity) 0;
            report.AdvisoryMessage = "message";
            report.Planes          = planes;
            byte junkByte = 200;

            //stream.WriteByte(junkByte);
            Example.CDTIReport.Serialize(stream, report);
        }
Пример #9
0
    private void intake(CDTIReport report)
    {
        logger("at intake");

        clearPlanes();

        foreach (CDTIPlane plane in report.Planes)
        {
            AddToScreen(plane);
        }
        AddToScreen(report.Ownship);

        logger("end intake");
    }
Пример #10
0
 /// <summary>Helper: create a new instance to deserializing into</summary>
 public static CDTIReport DeserializeLength(Stream stream, int length)
 {
     CDTIReport instance = new CDTIReport();
     DeserializeLength(stream, length, instance);
     return instance;
 }
Пример #11
0
 /// <summary>Helper: create a new instance to deserializing into</summary>
 public static CDTIReport DeserializeLengthDelimited(Stream stream)
 {
     CDTIReport instance = new CDTIReport();
     DeserializeLengthDelimited(stream, instance);
     return instance;
 }
Пример #12
0
        /// <summary>Serialize the instance into the stream</summary>
        public static void Serialize(Stream stream, CDTIReport instance)
        {
            BinaryWriter bw = new BinaryWriter(stream);
            var msField = global::SilentOrbit.ProtocolBuffers.ProtocolParser.Stack.Pop();
            stream.WriteByte(0);

            // Key for field: 1, Fixed64
            stream.WriteByte(9);
            bw.Write(instance.Timestamp);
            if (instance.Ownship == null)
                throw new ArgumentNullException("Ownship", "Required by proto specification.");
            // Key for field: 2, LengthDelimited
            stream.WriteByte(18);
            msField.SetLength(0);
            Example.CDTIPlane.Serialize(msField, instance.Ownship);
            // Length delimited byte array
            uint length2 = (uint)msField.Length;
            global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteUInt32(stream, length2);
            stream.Write(msField.GetBuffer(), 0, (int)length2);

            if (instance.AdvisoryMessage != null)
            {
                // Key for field: 3, LengthDelimited
                stream.WriteByte(26);
                global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteBytes(stream, Encoding.UTF8.GetBytes(instance.AdvisoryMessage));
            }
            // Key for field: 4, Varint
            stream.WriteByte(32);
            global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteUInt64(stream,(ulong)instance.AdvisoryLevel);
            if (instance.Planes != null)
            {
                foreach (var i5 in instance.Planes)
                {
                    // Key for field: 5, LengthDelimited
                    stream.WriteByte(42);
                    msField.SetLength(0);
                    Example.CDTIPlane.Serialize(msField, i5);
                    // Length delimited byte array
                    uint length5 = (uint)msField.Length;
                    global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteUInt32(stream, length5);
                    stream.Write(msField.GetBuffer(), 0, (int)length5);

                }
            }
            stream.WriteByte(0);
            stream.WriteByte(0);
            stream.WriteByte(0);
            global::SilentOrbit.ProtocolBuffers.ProtocolParser.Stack.Push(msField);
        }
Пример #13
0
 /// <summary>Helper: Serialize with a varint length prefix</summary>
 public static void SerializeLengthDelimited(Stream stream, CDTIReport instance)
 {
     var data = SerializeToBytes(instance);
     global::SilentOrbit.ProtocolBuffers.ProtocolParser.WriteUInt32(stream, (uint)data.Length);
     stream.Write(data, 0, data.Length);
 }
Пример #14
0
    IEnumerator connect()
    {
        server = new TcpListener(IPAddress.Parse("127.0.0.1"), 13000);
        server.Start();
        logger("server Start ver 1.4.3");
        while (isRunning)
        {
            // check if new connections are pending, if not, be nice and sleep 100ms
            if (!server.Pending())
            {
                Thread.Sleep(100);
            }
            else
            {
                File.Delete("temp.txt");

                TcpClient client = server.AcceptTcpClient();
                logger("connection established");

                NetworkStream      ns      = client.GetStream();
                const int          bufSize = 0x1000;
                byte[]             buf     = new byte[bufSize];
                bool               rep     = false;
                Example.CDTIReport report  = null;
                // MemoryStream ms = new MemoryStream();
                Thread.Sleep(400);
                long totalBytes = 0;
                int  bytesRead  = 0;
                while ((bytesRead = ns.Read(buf, 0, bufSize)) > 0)
                {
                    File.Delete("temp.txt");
                    FileStream file = new FileStream("temp.txt", FileMode.Create);
                    file.Write(buf, 0, bytesRead);
                    logger("temp written");
                    // ms.Write(buf, 0, bytesRead);
                    totalBytes += bytesRead;
                    file.Close();
                    print(bytesRead);

                    FileStream fs = new FileStream("temp.txt", FileMode.Open);

                    /*  try
                     * {
                     *   logger("reading temp");
                     *    report = Example.CDTIReport.Deserialize(fs);
                     *    fs.Close();
                     *                            logger("temp read");
                     *    logger("" +report.Planes.Count);
                     *    logger("" +report.Ownship);
                     *    logger("" +report.Timestamp);
                     *    logger(report.AdvisoryMessage);
                     *    rep = true;
                     *    lastReport = report;
                     *
                     * //}
                     * // catch(Exception e)
                     * //{
                     *                    //	logger("Exception caught in read" + e.Message); */
                    //fs.Close();
                    //fs = new FileStream("temp.txt", FileMode.Open);
                    try
                    {
                        fs.Seek(4, SeekOrigin.Begin);
                        logger("reading temp");
                        report = CDTIReport.Deserialize(fs);
                        fs.Close();
                        logger("temp read");
                        logger("" + report.Planes.Count);
                        logger("" + report.Ownship);
                        logger("" + report.Timestamp);
                        logger(report.AdvisoryMessage);
                        rep        = true;
                        lastReport = report;
                    }
                    catch (Exception f)
                    {
                        logger("Exception caught in read" + f.Message);
                        fs.Close();
                        if (report != null)
                        {
                            lastReport = report;
                            rep        = true;
                        }
                    }
                    // }
                    if (rep)
                    {
                        yield return(Ninja.JumpToUnity);

                        intake(report);
                        // intake(CDTIReport.Deserialize(ns));
                        yield return(Ninja.JumpBack);
                    }
                    rep = false;
                }

                client.Close();
            }
        }

        server.Stop();
        yield return(null);
    }
Пример #15
0
 /// <summary>Helper: put the buffer into a MemoryStream and create a new instance to deserializing into</summary>
 public static CDTIReport Deserialize(byte[] buffer)
 {
     CDTIReport instance = new CDTIReport();
     using (var ms = new MemoryStream(buffer))
         Deserialize(ms, instance);
     return instance;
 }
Пример #16
0
 /// <summary>Helper: Serialize into a MemoryStream and return its byte array</summary>
 public static byte[] SerializeToBytes(CDTIReport instance)
 {
     using (var ms = new MemoryStream())
     {
         Serialize(ms, instance);
         return ms.ToArray();
     }
 }
Пример #17
0
    IEnumerator connect()
    {
        server = new TcpListener(IPAddress.Parse("127.0.0.1"), 13000);
        server.Start();
        logger("server Start ver 1.4.3");
        while (isRunning)
        {
                // check if new connections are pending, if not, be nice and sleep 100ms
            if (!server.Pending())
            {
                Thread.Sleep(100);
            }
            else
            {
                File.Delete("temp.txt");

                TcpClient client = server.AcceptTcpClient();
                logger("connection established");

                NetworkStream ns = client.GetStream();
                const int bufSize = 0x1000;
                byte[] buf = new byte[bufSize];
                bool rep = false;
                Example.CDTIReport report = null;
               // MemoryStream ms = new MemoryStream();
                Thread.Sleep(400);
                long totalBytes = 0;
                int bytesRead = 0;
                while((bytesRead = ns.Read(buf,0,bufSize)) > 0)
                {
                    File.Delete("temp.txt");
                    FileStream file = new FileStream("temp.txt", FileMode.Create);
                    file.Write(buf, 0, bytesRead);
                    logger("temp written");
                   // ms.Write(buf, 0, bytesRead);
                    totalBytes += bytesRead;
                    file.Close();
                    print(bytesRead);

                    FileStream fs = new FileStream("temp.txt", FileMode.Open);
                  /*  try
                    {
                       logger("reading temp");
                        report = Example.CDTIReport.Deserialize(fs);
                        fs.Close();
                        logger("temp read");
                        logger("" +report.Planes.Count);
                        logger("" +report.Ownship);
                        logger("" +report.Timestamp);
                        logger(report.AdvisoryMessage);
                        rep = true;
                        lastReport = report;

                    //}
                   // catch(Exception e)
                    //{
                    //	logger("Exception caught in read" + e.Message); */
                        //fs.Close();
                        //fs = new FileStream("temp.txt", FileMode.Open);
                        try
                        {
                            fs.Seek(4, SeekOrigin.Begin);
                            logger("reading temp");
                            report = CDTIReport.Deserialize(fs);
                            fs.Close();
                            logger("temp read");
                            logger("" + report.Planes.Count);
                            logger("" + report.Ownship);
                            logger("" + report.Timestamp);
                            logger(report.AdvisoryMessage);
                            rep = true;
                            lastReport = report;

                        }
                        catch (Exception f)
                        {
                            logger("Exception caught in read" + f.Message);
                            fs.Close();
                            if(report != null)
                            {
                                lastReport = report;
                                rep = true;
                            }
                        }
                   // }
                    if(rep)
                    {
                        yield return Ninja.JumpToUnity;
                        intake(report);
                        // intake(CDTIReport.Deserialize(ns));
                        yield return Ninja.JumpBack;
                    }
                    rep = false;
                }

                client.Close();
            }
        }

        server.Stop();
        yield return null;
    }
Пример #18
0
 private static void send()
 {
     Example.CDTIReport report = new Example.CDTIReport();
     Example.CDTIPlane ownship = new Example.CDTIPlane();
     ownship.Id = "2";
     ownship.Position = new Example.Vector(5,3,4);
     ownship.Velocity = new Example.Vector(5,3,4);
     ownship.severity = (Example.CDTIPlane.Severity.TRAFFIC);
     report.Ownship = ownship;
     report.Timestamp = 1;
     report.AdvisoryLevel = (Example.CDTIReport.Severity)0;
     report.AdvisoryMessage = "message";
     report.Planes = planes;
     byte junkByte = 200;
     //stream.WriteByte(junkByte);
     Example.CDTIReport.Serialize(stream, report);
 }
Пример #19
0
 /// <summary>Helper: create a new instance to deserializing into</summary>
 public static CDTIReport Deserialize(Stream stream)
 {
     CDTIReport instance = new CDTIReport();
     Deserialize(stream, instance);
     return instance;
 }