Beispiel #1
0
        /// <summary>
        /// Serializes the queue.
        /// </summary>
        public void SerializeQueue()
        {
            lock (syncLock)
            {
                Device.Log.Debug("Serializing queue to file:  type: " + typeof(T).ToString());

                //foreach( RestfulObject<T> item in this.ToList() )
                //	Device.Log.Debug("queue item to serialize " + item.Object.ToString() );

                if (this.Count > 0)
                {
                    // needs to use a different serializer for queue serialization to support RestfulObject<T>
                    //ISerializer<RestfulObject<T>> iSerializer = SerializerFactory.Create<RestfulObject<T>>( QueueSerializationFormat );
                    QueueSerializer.SerializeListToFile(this.ToList(), QueueFileName);
                }
                else
                {
                    Device.File.Delete(QueueFileName);
                }
            }
        }
Beispiel #2
0
        /// <summary>
        /// Deserializes the queue.
        /// </summary>
        public void DeserializeQueue()
        {
            lock (syncLock)
            {
                //SerializationFormat format = QueueSerializationFormat;
                //if ( format == SerializationFormat.CUSTOM )
                //    format = SerializationFormat.XML;

                // needs to use a different serializer for queue serialization to support RestfulObject<T>
                //ISerializer<RestfulObject<T>> iSerializer = SerializerFactory.Create<RestfulObject<T>>( format );
                List <RestfulObject <T> > queuelist = QueueSerializer.DeserializeListFromFile(QueueFileName);

                if (queuelist == null)
                {
                    return;
                }

                foreach (var item in queuelist)
                {
                    Enqueue(item);
                }
            }
        }
Beispiel #3
0
        private void QTreeAndSpineProc()
        {
            try
            {
                if (!Config.Torino.DisableQtree)
                {
                    QuadTree.Initialize(QueueSerializer.GetQtreeApplicationFolder());
                }

                _qtreeLoaded = true;
            }
            catch (Exception e)
            {
                STrace.Exception(GetType().FullName, e, "QTreeProc");
            }
            try
            {
                NetworkSpine.MainLoop();
            }
            catch (Exception e)
            {
                STrace.Exception(GetType().FullName, e, "SpineProc");
            }
        }