/// <summary> /// Updates the send result. /// </summary> /// <param name="result">The result of sending the message.</param> internal void MessageSent(SendResults result) { lock (_lockObject) { _sendResult = result; _progress = MessageSendProgress.Completed; } }
/// <summary> /// Blocks until the specified progress is reached. /// </summary> /// <param name="progressToBlockUntil">The progress to block until.</param> private void BlockUntilProgress(MessageSendProgress progressToBlockUntil) { bool block; lock (_lockObject) { block = _progress < progressToBlockUntil; } while (block) { Thread.Sleep(1); lock (_lockObject) { block = _progress < progressToBlockUntil; } } }
/// <summary> /// Initializes a new instance of the <see cref="MessageSendResult" /> class. /// </summary> internal MessageSendResult() { _progress = MessageSendProgress.SendingMessage; }