public void Serialize(XML.Writer writer) { writer.WriteStartElement("http-server"); writer.WriteElement("port", this.port); writer.WriteElement("wwwroot", this.root); writer.WriteEndElement(); }
public void Save(string path) { if (!readOnly) { this.path = path; var writer = new XML.Writer(path); try { this.Serialize(writer); } catch { } writer.Close(); } }
protected override void Serialize(XML.Writer writer) { try { writer.WriteElement("CommPort", CommPort); var root = ApplicationInfo.CurrentDirectory; foreach (var file in CamFiles) { if (File.Exists(root + file)) { writer.WriteElement("CamFile", file); } } } catch (Exception ex) { Logger.Log(ex); } }
public void Serialize(XML.Writer writer) { writer.WriteStartElement("SocketMessage"); writer.WriteAttributeString("id", this.id); writer.WriteAttributeString("command", this.command); writer.WriteAttributeString("member", this.member); writer.WriteAttributeString("from", this.fromID); writer.WriteAttributeString("to", this.toID); writer.WriteAttributeString("timestamp", this.timestamp); if (String.IsNullOrEmpty(this.data)) { writer.WriteAttributeString("len", 0); writer.WriteValue(""); } else { writer.WriteAttributeString("len", this.data.Length); writer.WriteValue(this.data); } writer.WriteEndElement(); // SocketMessage }
protected abstract void Serialize(XML.Writer writer);
private void ServiceOutgoing() { if (socket == null) { return; } if (stream == null) { return; } if (messagesOut.Count == 0) { return; } var messageQueue = new List <SocketMessage>(); try { // assemble packet lock (messagesOut) { messageQueue.AddRange(messagesOut); messagesOut.Clear(); } string packetString = ""; using (var sw = new StringWriter()) { using (var writer = new XML.Writer(sw)) { writer.WriteStartElement("SocketMessages"); foreach (SocketMessage message in messageQueue) { message.Serialize(writer); } writer.WriteEndElement(); } packetString = sw.ToString(); } // write data to socket byte[] packetBytes = this.encoding.GetBytes(packetString.ToString()); lock (socket) { lock (stream) { stream.Write(packetBytes, 0, packetBytes.Length); } } this.packetsOut += messageQueue.Count; } catch (System.IO.IOException) { lock (messagesOut) { messagesOut.AddRange(messageQueue); } resendAttempts++; if (resendAttempts > 3) { this.Log("Failed three send attempts"); Thread.Sleep(1000); // TODO: log error //this.messagesOut.Clear(); resendAttempts = 0; //this.Disconnect(); } } catch (ObjectDisposedException) { lock (messagesOut) { messagesOut.AddRange(messageQueue); } //this.Disconnect(); } }