title: How can I make an IObservable from a queue, so that the sequence doesn't end when the queue is empty?
body: <p>I'm working on something that uses Reactive Extensions for .NET (Rx) and I want to have a sequence that takes its input from a queue (or similar).</p>
  
  <p>I've tried doing this:  </p>
  
  <pre><code>    static readonly Queue&lt;DeviceTransaction&gt; TransactionQueue = new Queue&lt;DeviceTransaction&gt;();
      //...
      var observableTransactionSource = TransactionQueue.ToObservable();
      //...
      observableTransactionSource.Subscribe(transactionObserver);
  </code></pre>
  
  <p>It works up to a point, but the sequence completes when the queue is empty. I don't want an empty queue to end the sequence. Empty doesn't mean ended, it just means 'no more at the moment'.</p>
  
  <p>Is there a way to stop the sequence completing when the queue is empty, or should I be thinking about the whole problem in a different way?</p>