/// <summary> /// Timeouts the message and returns a Failed message status. /// </summary> /// <param name="observable"></param> /// <param name="timeoutSeconds"></param> /// <param name="msg"></param> /// <returns></returns> public static IObservable <MessageStatus> TimeoutMessage(this IObservable <MessageStatus> observable, double timeoutSeconds, INyxMessage msg) { return(observable .Amb(Observable.Return(msg.Timeout(null, "Timeout waiting for message.")).Delay(TimeSpan.FromSeconds(timeoutSeconds * 2)))); }
public static IObservable <MessageStatus> Timeout(this INyxMessage msg, Exception ex) { return(Observable.Return(msg.Timeout(null, ex.ToString()))); }