protected void EnqueueMessage(XElement msg) { XAttribute from = msg.Attribute("from"); XAttribute to = msg.Attribute("to"); XAttribute type = msg.Attribute("type"); XAttribute id = msg.Attribute("id"); IEnumerable <XElement> error = msg.Elements(NamespaceClient + "error"); IEnumerable <XElement> content = msg.Elements().Where(el => el.Name != (NamespaceClient + "error")); QueuedMessages.Enqueue( new Message { From = from == null ? null : from.Value, To = to == null ? null : to.Value, Type = type == null ? "normal" : type.Value, Id = id == null ? null : id.Value, Content = content, Error = error, MessageElement = msg } ); if (MessagesQueued != null) { MessagesQueued.Set(); } }
public void Enqueue(MessageWrapper message, bool persist = true) { if (persist) { Persistence.SaveMessage(message); } QueuedMessages.Enqueue(message); }
public void EnqueueMessage(NotifyMessage msg) { QueuedMessages.Enqueue(msg); Start(); }