public void MessagesTest() { var from = new Jid("jid1", "s", "R1"); var to = new Jid("jid2", "s", "R2"); var m1 = new Message(to, from, "to --> from"); var m2 = new Message(from, to, "from --> to"); store.SaveMessages(new[] { m1, m2 }); var messages = store.GetMessages(from, to, DateTime.MinValue, DateTime.MaxValue, 2); Assert.AreEqual(messages.Length, 2); Assert.AreEqual(m1.From, messages[0].From); Assert.AreEqual(m2.From, messages[1].From); messages = store.GetMessages(to, from, DateTime.MinValue, DateTime.MaxValue, 2); Assert.AreEqual(messages.Length, 2); Assert.AreEqual(m1.From, messages[0].From); Assert.AreEqual(m2.From, messages[1].From); }
public void FlushMessageBuffer() { Message[] buffercopy = null; lock (messageBuffer) { buffercopy = messageBuffer.ToArray(); messageBuffer.Clear(); } if (buffercopy.Length == 0) { return; } try { archiveStore.SaveMessages(buffercopy); log.DebugFormat("Flush messages buffer, count: {0}", buffercopy.Length); } catch (Exception ex) { log.ErrorFormat("Error flush messages buffer, count: {0}, exception: {1}", buffercopy.Length, ex); } }