/// <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); } } }
/// <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); } } }
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"); } }