/// <summary> /// Factory method creates and new, unique message number. /// </summary> /// <returns>A new message number</returns> public static MessageNumber Create() { MessageNumber result = new MessageNumber() { Pid = LocalProcessId, Seq = GetNextSeqNumber() }; return(result); }
public static int Compare(MessageNumber a, MessageNumber b) { int result = 0; if (!ReferenceEquals(a, b)) { if (((object)a == null) && ((object)b != null)) { result = -1; } else if (((object)a != null) && ((object)b == null)) { result = 1; } else { if (a.Pid < b.Pid) { result = -1; } else if (a.Pid > b.Pid) { result = 1; } else if (a.Seq < b.Seq) { result = -1; } else if (a.Seq > b.Seq) { result = 1; } } } return(result); }
/// <summary> /// This method set the message and conversations id's /// </summary> /// <param name="id"></param> /// <param name="convId"></param> public void SetMessageAndConversationNumbers(MessageNumber id, MessageNumber convId) { MsgId = id; ConvId = convId; }
/// <summary> /// This method sets up the message and conversation id's for the first message of a conversation. /// Specifically, it sets the messsage id to the provided id, then that is copied for the conversation id. /// </summary> /// <param name="id">Message number that will become this message's message id and conversation id </param> public void SetMessageAndConversationNumbers(MessageNumber id) { SetMessageAndConversationNumbers(id, id.Clone()); }
/// <summary> /// This method sets up the message and conversation numbers for the first message of a conversation. /// Specifically, it creates a new message number, then that is copied for the conversation id. /// </summary> public void InitMessageAndConversationNumbers() { SetMessageAndConversationNumbers(MessageNumber.Create()); }