キュー (具体的には ConcurrentQueue として) を IObservable のソースとして使用できるかどうか疑問に思いましたか? 何かのようなもの;
Queue = new ConcurrentQueue<IMessage>();
var xs = Queue.AsEnumerable().ToObservable();
xs.Subscribe((IMessage msg) =>
{
Console.WriteLine("Msg :" + msg.subject);
});
何もデキューされていないので、本当に意味がないと思います。オブザーバーにプッシュされる「メッセージ」をサブスクライブできるノンブロッキングプロセスを実装しようとしているため、キューを使用しています。RXでこれを行うことができるはずだと確信していますが、頭が回らないようです!
これをどのように実装できるかについての提案に興味があります。ありがとう!