<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="/rss.xsl"?><rss version="2.0"><channel><title>Extensions for Reactive Extensions (Rxx)</title><link>http://rxx.codeplex.com/project/feeds/rss</link><description>Rxx is a library of unofficial reactive LINQ extensions supplementary to Microsoft&amp;#39;s Reactive Extensions &amp;#40;Rx&amp;#41; for .NET.</description><item><title>Commented Feature: Generalize Internal Collect into Public Merge [24399]</title><link>http://rxx.codeplex.com/workitem/24399</link><description>See if it&amp;#39;s possible to generalize the internal Collect operator into a public overloaded Merge operator that takes either an enumerable &amp;#40;or an observable&amp;#41; and merges it with another observable using an internal dictionary for reconciliation, an optional comparer and an optional query parameter &amp;#40;for filtering, projection, etc.&amp;#41;, producing a flattened observable.  The internal Collect operator should be able to call into one of these overloaded Merge operators.&lt;br /&gt;&lt;br /&gt;Consider possibly returning an IObservable&amp;#60;T&amp;#62; instead of a ReadOnlyListSubject&amp;#60;T&amp;#62;, assuming that the latter isn&amp;#39;t actually needed.  Though if it&amp;#39;s going to be used in the implementation anyway then it might as well be exposed to callers since it offers much more functionality than a raw observable.&lt;br /&gt;Comments: ** Comment from web user: davedev ** &lt;p&gt;Provide overloads with add-only semantics, avoiding use of CollectionNotification and CollectionModification altogether.  This is kind of a like a Merge operator with mathematical set semantics as opposed to just sequence semantics.&lt;/p&gt;</description><author>davedev</author><pubDate>Mon, 17 Jun 2013 01:15:27 GMT</pubDate><guid isPermaLink="false">Commented Feature: Generalize Internal Collect into Public Merge [24399] 20130617011527A</guid></item><item><title>Commented Feature: Generalize Internal Collect into Public Merge [24399]</title><link>http://rxx.codeplex.com/workitem/24399</link><description>See if it&amp;#39;s possible to generalize the internal Collect operator into a public overloaded Merge operator that takes either an enumerable &amp;#40;or an observable&amp;#41; and merges it with another observable using an internal dictionary for reconciliation, an optional comparer and an optional query parameter &amp;#40;for filtering, projection, etc.&amp;#41;, producing a flattened observable.  The internal Collect operator should be able to call into one of these overloaded Merge operators.&lt;br /&gt;&lt;br /&gt;Consider possibly returning an IObservable&amp;#60;T&amp;#62; instead of a ReadOnlyListSubject&amp;#60;T&amp;#62;, assuming that the latter isn&amp;#39;t actually needed.  Though if it&amp;#39;s going to be used in the implementation anyway then it might as well be exposed to callers since it offers much more functionality than a raw observable.&lt;br /&gt;Comments: ** Comment from web user: davedev ** &lt;p&gt;Consider calling it Reconcile or MergeReconcile.&lt;/p&gt;</description><author>davedev</author><pubDate>Sat, 15 Jun 2013 15:48:16 GMT</pubDate><guid isPermaLink="false">Commented Feature: Generalize Internal Collect into Public Merge [24399] 20130615034816P</guid></item><item><title>Created Feature: Generalize Internal Collect into Public Merge [24399]</title><link>http://rxx.codeplex.com/workitem/24399</link><description>See if it&amp;#39;s possible to generalize the internal Collect operator into a public overloaded Merge operator that takes either an enumerable &amp;#40;or an observable&amp;#41; and merges it with another observable using an internal dictionary for reconciliation, an optional comparer and an optional query parameter &amp;#40;for filtering, projection, etc.&amp;#41;, producing a flattened observable.  The internal Collect operator should be able to call into one of these overloaded Merge operators.&lt;br /&gt;&lt;br /&gt;Consider possibly returning an IObservable&amp;#60;T&amp;#62; instead of a ReadOnlyListSubject&amp;#60;T&amp;#62;, assuming that the latter isn&amp;#39;t actually needed.  Though if it&amp;#39;s going to be used in the implementation anyway then it might as well be exposed to callers since it offers much more functionality than a raw observable.&lt;br /&gt;</description><author>davedev</author><pubDate>Sat, 15 Jun 2013 15:19:33 GMT</pubDate><guid isPermaLink="false">Created Feature: Generalize Internal Collect into Public Merge [24399] 20130615031933P</guid></item><item><title>Reviewed: Rxx 1.3 (May 31, 2013)</title><link>https://rxx.codeplex.com/releases/view/77393#ReviewBy-KeithW</link><description>Rated 5 Stars &amp;#40;out of 5&amp;#41; - This library is a must have for serious Rx development. You can be assured of the quality of the code, these guys know what they&amp;#8217;re doing. Well done guys.</description><author>KeithW</author><pubDate>Fri, 31 May 2013 15:17:36 GMT</pubDate><guid isPermaLink="false">Reviewed: Rxx 1.3 (May 31, 2013) 20130531031736P</guid></item><item><title>New Post: Subject doesn't output events when it's reading an ObservableTcpListener</title><link>http://rxx.codeplex.com/discussions/440612</link><description>&lt;div style="line-height: normal;"&gt;&lt;strong&gt;davedev wrote:&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Hello davedev,&lt;br /&gt;
&lt;blockquote&gt;
Try this instead: &lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
receiveContentObservable.Subscribe(subject.OnNext, subject.OnError);
&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;
Yup, that worked. Thank you!&lt;br /&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
Note that sometimes LINQPad doesn't correctly close the socket [snip]&lt;br /&gt;
&lt;/blockquote&gt;
You can avoid orphaned sockets by disposing of the subscription yourself.&lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; (tcpListenerPool.Subscribe(
    (TcpClient tcpClient) =&amp;gt;
    {
        &lt;span style="color:Green;"&gt;// ...&lt;/span&gt;
    }))
{
    Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;waiting&amp;quot;&lt;/span&gt;);
    Console.Read();
}
&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;
Weird I thought I had tried that and it had failed. Thanks again.&lt;br /&gt;
&lt;/div&gt;</description><author>rolpereira</author><pubDate>Wed, 17 Apr 2013 16:06:02 GMT</pubDate><guid isPermaLink="false">New Post: Subject doesn't output events when it's reading an ObservableTcpListener 20130417040602P</guid></item><item><title>New Post: Subject doesn't output events when it's reading an ObservableTcpListener</title><link>http://rxx.codeplex.com/discussions/440612</link><description>&lt;div style="line-height: normal;"&gt;&lt;strong&gt;davedev wrote:&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Hello davedev,&lt;br /&gt;
&lt;blockquote&gt;
Try this instead: &lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
receiveContentObservable.Subscribe(subject.OnNext, subject.OnError);
&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;
Yup, that worked. Thank you!&lt;br /&gt;
&lt;blockquote&gt;
&lt;blockquote&gt;
Note that sometimes LINQPad doesn't correctly close the socket [snip]&lt;br /&gt;
&lt;/blockquote&gt;
You can avoid orphaned sockets by disposing of the subscription yourself.&lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; (tcpListenerPool.Subscribe(
    (TcpClient tcpClient) =&amp;gt;
    {
        &lt;span style="color:Green;"&gt;// ...&lt;/span&gt;
    }))
{
    Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;waiting&amp;quot;&lt;/span&gt;);
    Console.Read();
}
&lt;/pre&gt;&lt;/div&gt;&lt;/blockquote&gt;
Weird I thought I had tried that and it had failed. Thanks again.&lt;br /&gt;
&lt;/div&gt;</description><author>rolpereira</author><pubDate>Wed, 17 Apr 2013 16:06:02 GMT</pubDate><guid isPermaLink="false">New Post: Subject doesn't output events when it's reading an ObservableTcpListener 20130417040602P</guid></item><item><title>New Post: Subject doesn't output events when it's reading an ObservableTcpListener</title><link>http://rxx.codeplex.com/discussions/440612</link><description>&lt;div style="line-height: normal;"&gt;Hi, &lt;br /&gt;
&lt;blockquote&gt;
Note that sometimes LINQPad doesn't correctly close the socket [snip]&lt;br /&gt;
&lt;/blockquote&gt;
You can avoid orphaned sockets by disposing of the subscription yourself.&lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; (tcpListenerPool.Subscribe(
    (TcpClient tcpClient) =&amp;gt;
    {
        &lt;span style="color:Green;"&gt;// ...&lt;/span&gt;
    }))
{
    Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;waiting&amp;quot;&lt;/span&gt;);
    Console.Read();
}
&lt;/pre&gt;&lt;/div&gt;- Dave&lt;br /&gt;
&lt;/div&gt;</description><author>davedev</author><pubDate>Wed, 17 Apr 2013 15:29:17 GMT</pubDate><guid isPermaLink="false">New Post: Subject doesn't output events when it's reading an ObservableTcpListener 20130417032917P</guid></item><item><title>New Post: Subject doesn't output events when it's reading an ObservableTcpListener</title><link>http://rxx.codeplex.com/discussions/440612</link><description>&lt;div style="line-height: normal;"&gt;Hi, &lt;br /&gt;
&lt;blockquote&gt;
Note that sometimes LINQPad doesn't correctly close the socket [snip]&lt;br /&gt;
&lt;/blockquote&gt;
You can avoid orphaned sockets by disposing of the subscription yourself.&lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;using&lt;/span&gt; (tcpListenerPool.Subscribe(
    (TcpClient tcpClient) =&amp;gt;
    {
        &lt;span style="color:Green;"&gt;// ...&lt;/span&gt;
    }))
{
    Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;waiting&amp;quot;&lt;/span&gt;);
    Console.Read();
}
&lt;/pre&gt;&lt;/div&gt;- Dave&lt;br /&gt;
&lt;/div&gt;</description><author>davedev</author><pubDate>Wed, 17 Apr 2013 15:29:17 GMT</pubDate><guid isPermaLink="false">New Post: Subject doesn't output events when it's reading an ObservableTcpListener 20130417032917P</guid></item><item><title>New Post: Subject doesn't output events when it's reading an ObservableTcpListener</title><link>http://rxx.codeplex.com/discussions/440612</link><description>&lt;div style="line-height: normal;"&gt;Hi, &lt;br /&gt;
&lt;br /&gt;
It's probably because the subject is receiving &lt;strong&gt;OnCompleted&lt;/strong&gt; and ignoring subsequent notifications.&lt;br /&gt;
&lt;br /&gt;
In other words, this: &lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
receiveContentObservable.Subscribe(subject);
&lt;/pre&gt;&lt;/div&gt;is essentially the same as this: &lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
receiveContentObservable.Subscribe(subject.OnNext, subject.OnError, subject.OnCompleted);
&lt;/pre&gt;&lt;/div&gt;Try this instead: &lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
receiveContentObservable.Subscribe(subject.OnNext, subject.OnError);
&lt;/pre&gt;&lt;/div&gt;It's a fairly common mistake that I make too :)&lt;br /&gt;
&lt;br /&gt;
- Dave&lt;br /&gt;
&lt;/div&gt;</description><author>davedev</author><pubDate>Wed, 17 Apr 2013 15:25:36 GMT</pubDate><guid isPermaLink="false">New Post: Subject doesn't output events when it's reading an ObservableTcpListener 20130417032536P</guid></item><item><title>New Post: Subject doesn't output events when it's reading an ObservableTcpListener</title><link>http://rxx.codeplex.com/discussions/440612</link><description>&lt;div style="line-height: normal;"&gt;Hi, &lt;br /&gt;
&lt;br /&gt;
It's probably because the subject is receiving &lt;strong&gt;OnCompleted&lt;/strong&gt; and ignoring subsequent notifications.&lt;br /&gt;
&lt;br /&gt;
In other words, this: &lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
receiveContentObservable.Subscribe(subject);
&lt;/pre&gt;&lt;/div&gt;is essentially the same as this: &lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
receiveContentObservable.Subscribe(subject.OnNext, subject.OnError, subject.OnCompleted);
&lt;/pre&gt;&lt;/div&gt;Try this instead: &lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
receiveContentObservable.Subscribe(subject.OnNext, subject.OnError);
&lt;/pre&gt;&lt;/div&gt;It's a fairly common mistake that I make too :)&lt;br /&gt;
&lt;br /&gt;
- Dave&lt;br /&gt;
&lt;/div&gt;</description><author>davedev</author><pubDate>Wed, 17 Apr 2013 15:25:36 GMT</pubDate><guid isPermaLink="false">New Post: Subject doesn't output events when it's reading an ObservableTcpListener 20130417032536P</guid></item><item><title>New Post: Subject doesn't output events when it's reading an ObservableTcpListener</title><link>http://rxx.codeplex.com/discussions/440612</link><description>&lt;div style="line-height: normal;"&gt;Hello all,&lt;br /&gt;
&lt;br /&gt;
I'm trying to pass the output of ObservableTcpListener to a Subject&amp;lt;byte[]&amp;gt;. That subject will then be used in a query.&lt;br /&gt;
&lt;br /&gt;
The problem is that while the ObservableTcpListener receives every socket contents that I send, the query doesn't output anything besides the first two or three events.&lt;br /&gt;
&lt;br /&gt;
This code shows the problem that I'm mentioning. It should be ran in LINQPad as a &amp;quot;C# Program&amp;quot;.&lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;void&lt;/span&gt; Main()
{
    &lt;span style="color:Green;"&gt;// Create the subject and the query&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;var&lt;/span&gt; subject = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; Subject&amp;lt;&lt;span style="color:Blue;"&gt;byte&lt;/span&gt;[]&amp;gt;();
    &lt;span style="color:Blue;"&gt;var&lt;/span&gt; query = subject.Select(reading =&amp;gt; reading);
    
    query.Subscribe(Console.WriteLine);
    
    &lt;span style="color:Blue;"&gt;var&lt;/span&gt; tcpListenerPool = ObservableTcpListener.Start(IPAddress.Loopback, 20001);
    
    tcpListenerPool.Subscribe(
        (TcpClient tcpClient) =&amp;gt;
        {
            &lt;span style="color:Green;"&gt;// Debug information just to check if the socket actually has anything in it&lt;/span&gt;
            Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;tcpSocket.Avaliable: &amp;quot;&lt;/span&gt; + tcpClient.Available);
            
            &lt;span style="color:Blue;"&gt;var&lt;/span&gt; receiveContentObservable = tcpClient.Client.ReceiveUntilCompleted(SocketFlags.None);
            
            &lt;span style="color:Green;"&gt;// Send socket content to the subject&lt;/span&gt;
            receiveContentObservable.Subscribe(subject);
        });
        
    Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;waiting&amp;quot;&lt;/span&gt;);
    Console.Read();
}

&lt;span style="color:Green;"&gt;// Define other methods and classes here&lt;/span&gt;

&lt;/pre&gt;&lt;/div&gt;Note that sometimes LINQPad doesn't correctly close the socket, and gives the error: &amp;quot;Only one usage of each socket address (protocol/network address/port) is normally permitted&amp;quot;. If that happens go to the &amp;quot;Query&amp;quot; menu and choose &amp;quot;Cancel All Threads and Reset&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The program that I'm using to send the sockets to the ObservableTcpListener is this python program:&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;import socket
import random

payload = [&amp;quot;foo&amp;quot;, &amp;quot;bar&amp;quot;];

def sendPayload(payload):
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((&amp;quot;localhost&amp;quot;, 20001))
    
    s.send(payload)
    
    s.close()

# Send 10 sockets with either &amp;quot;foo&amp;quot; or &amp;quot;bar&amp;quot;    
map(lambda x: sendPayload(random.choice(payload)), range(10))&lt;/code&gt;&lt;/pre&gt;

Is this a bug, or am I doing something wrong?&lt;br /&gt;
&lt;br /&gt;
Edit: I'm using the &amp;quot;Rxx Class Library for .NET 4.0&amp;quot; available in the Downloads section.&lt;br /&gt;
&lt;/div&gt;</description><author>rolpereira</author><pubDate>Wed, 17 Apr 2013 14:04:34 GMT</pubDate><guid isPermaLink="false">New Post: Subject doesn't output events when it's reading an ObservableTcpListener 20130417020434P</guid></item><item><title>New Post: Subject doesn't output events when it's reading an ObservableTcpListener</title><link>http://rxx.codeplex.com/discussions/440612</link><description>&lt;div style="line-height: normal;"&gt;Hello all,&lt;br /&gt;
&lt;br /&gt;
I'm trying to pass the output of ObservableTcpListener to a Subject&amp;lt;byte[]&amp;gt;. That subject will then be used in a query.&lt;br /&gt;
&lt;br /&gt;
The problem is that while the ObservableTcpListener receives every socket contents that I send, the query doesn't output anything besides the first two or three events.&lt;br /&gt;
&lt;br /&gt;
This code shows the problem that I'm mentioning. It should be ran in LINQPad as a &amp;quot;C# Program&amp;quot;.&lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
&lt;span style="color:Blue;"&gt;void&lt;/span&gt; Main()
{
    &lt;span style="color:Green;"&gt;// Create the subject and the query&lt;/span&gt;
    &lt;span style="color:Blue;"&gt;var&lt;/span&gt; subject = &lt;span style="color:Blue;"&gt;new&lt;/span&gt; Subject&amp;lt;&lt;span style="color:Blue;"&gt;byte&lt;/span&gt;[]&amp;gt;();
    &lt;span style="color:Blue;"&gt;var&lt;/span&gt; query = subject.Select(reading =&amp;gt; reading);
    
    query.Subscribe(Console.WriteLine);
    
    &lt;span style="color:Blue;"&gt;var&lt;/span&gt; tcpListenerPool = ObservableTcpListener.Start(IPAddress.Loopback, 20001);
    
    tcpListenerPool.Subscribe(
        (TcpClient tcpClient) =&amp;gt;
        {
            &lt;span style="color:Green;"&gt;// Debug information just to check if the socket actually has anything in it&lt;/span&gt;
            Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;tcpSocket.Avaliable: &amp;quot;&lt;/span&gt; + tcpClient.Available);
            
            &lt;span style="color:Blue;"&gt;var&lt;/span&gt; receiveContentObservable = tcpClient.Client.ReceiveUntilCompleted(SocketFlags.None);
            
            &lt;span style="color:Green;"&gt;// Send socket content to the subject&lt;/span&gt;
            receiveContentObservable.Subscribe(subject);
        });
        
    Console.WriteLine(&lt;span style="color:#A31515;"&gt;&amp;quot;waiting&amp;quot;&lt;/span&gt;);
    Console.Read();
}

&lt;span style="color:Green;"&gt;// Define other methods and classes here&lt;/span&gt;

&lt;/pre&gt;&lt;/div&gt;Note that sometimes LINQPad doesn't correctly close the socket, and gives the error: &amp;quot;Only one usage of each socket address (protocol/network address/port) is normally permitted&amp;quot;. If that happens go to the &amp;quot;Query&amp;quot; menu and choose &amp;quot;Cancel All Threads and Reset&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The program that I'm using to send the sockets to the ObservableTcpListener is this python program:&lt;br /&gt;
&lt;pre&gt;&lt;code&gt;import socket
import random

payload = [&amp;quot;foo&amp;quot;, &amp;quot;bar&amp;quot;];

def sendPayload(payload):
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.connect((&amp;quot;localhost&amp;quot;, 20001))
    
    s.send(payload)
    
    s.close()

# Send 10 sockets with either &amp;quot;foo&amp;quot; or &amp;quot;bar&amp;quot;    
map(lambda x: sendPayload(random.choice(payload)), range(10))&lt;/code&gt;&lt;/pre&gt;

Is this a bug, or am I doing something wrong?&lt;br /&gt;
&lt;br /&gt;
Edit: I'm using the &amp;quot;Rxx Class Library for .NET 4.0&amp;quot; available in the Downloads section.&lt;br /&gt;
&lt;/div&gt;</description><author>rolpereira</author><pubDate>Wed, 17 Apr 2013 14:04:34 GMT</pubDate><guid isPermaLink="false">New Post: Subject doesn't output events when it's reading an ObservableTcpListener 20130417020434P</guid></item><item><title>New Post: IObservable&lt;Either&lt;T, Exception&gt;&gt; conversion</title><link>http://rxx.codeplex.com/discussions/440585</link><description>&lt;div style="line-height: normal;"&gt;Good stuff, worked, thanks&lt;br /&gt;
&lt;/div&gt;</description><author>grantchik</author><pubDate>Wed, 17 Apr 2013 12:27:08 GMT</pubDate><guid isPermaLink="false">New Post: IObservable&lt;Either&lt;T, Exception&gt;&gt; conversion 20130417122708P</guid></item><item><title>New Post: IObservable&lt;Either&lt;T, Exception&gt;&gt; conversion</title><link>http://rxx.codeplex.com/discussions/440585</link><description>&lt;div style="line-height: normal;"&gt;Good stuff, worked, thanks&lt;br /&gt;
&lt;/div&gt;</description><author>grantchik</author><pubDate>Wed, 17 Apr 2013 12:27:08 GMT</pubDate><guid isPermaLink="false">New Post: IObservable&lt;Either&lt;T, Exception&gt;&gt; conversion 20130417122708P</guid></item><item><title>New Post: IObservable&lt;Either&lt;T, Exception&gt;&gt; conversion</title><link>http://rxx.codeplex.com/discussions/440585</link><description>&lt;div style="line-height: normal;"&gt;Good stuff, worked, thanks&lt;br /&gt;
&lt;/div&gt;</description><author>grantchik</author><pubDate>Wed, 17 Apr 2013 12:27:08 GMT</pubDate><guid isPermaLink="false">New Post: IObservable&lt;Either&lt;T, Exception&gt;&gt; conversion 20130417122708P</guid></item><item><title>New Post: IObservable&lt;Either&lt;T, Exception&gt;&gt; conversion</title><link>http://rxx.codeplex.com/discussions/440585</link><description>&lt;div style="line-height: normal;"&gt;Hi,&lt;br /&gt;
&lt;br /&gt;
You can use &lt;a href="https://rxx.codeplex.com/SourceControl/changeset/view/70089#1128464" rel="nofollow"&gt;this overload of Select&lt;/a&gt;.  It allows you to project both sides of &lt;strong&gt;Either&lt;/strong&gt;.&lt;br /&gt;
&lt;br /&gt;
For example: &lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
IObservable&amp;lt;Either&amp;lt;T, Exception&amp;gt;&amp;gt; xs = GetObservableFromExternalSource();

IObservable&amp;lt;Either&amp;lt;T, MyAppException&amp;gt;&amp;gt; ys = xs.Select(t =&amp;gt; t, ex =&amp;gt; &lt;span style="color:Blue;"&gt;new&lt;/span&gt; MyAppException(ex));
&lt;/pre&gt;&lt;/div&gt;See also:&lt;br /&gt;
&lt;a href="https://rxx.codeplex.com/discussions/401272" rel="nofollow"&gt;https://rxx.codeplex.com/discussions/401272&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
- Dave&lt;br /&gt;
&lt;/div&gt;</description><author>davedev</author><pubDate>Wed, 17 Apr 2013 12:10:12 GMT</pubDate><guid isPermaLink="false">New Post: IObservable&lt;Either&lt;T, Exception&gt;&gt; conversion 20130417121012P</guid></item><item><title>New Post: IObservable&lt;Either&lt;T, Exception&gt;&gt; conversion</title><link>http://rxx.codeplex.com/discussions/440585</link><description>&lt;div style="line-height: normal;"&gt;Hi,&lt;br /&gt;
&lt;br /&gt;
You can use &lt;a href="https://rxx.codeplex.com/SourceControl/changeset/view/70089#1128464" rel="nofollow"&gt;this overload of Select&lt;/a&gt;.  It allows you to project both sides of &lt;strong&gt;Either&lt;/strong&gt;.&lt;br /&gt;
&lt;br /&gt;
For example: &lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
IObservable&amp;lt;Either&amp;lt;T, Exception&amp;gt;&amp;gt; xs = GetObservableFromExternalSource();

IObservable&amp;lt;Either&amp;lt;T, MyAppException&amp;gt;&amp;gt; ys = xs.Select(t =&amp;gt; t, ex =&amp;gt; &lt;span style="color:Blue;"&gt;new&lt;/span&gt; MyAppException(ex));
&lt;/pre&gt;&lt;/div&gt;See also:&lt;br /&gt;
&lt;a href="https://rxx.codeplex.com/discussions/401272" rel="nofollow"&gt;https://rxx.codeplex.com/discussions/401272&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
- Dave&lt;br /&gt;
&lt;/div&gt;</description><author>davedev</author><pubDate>Wed, 17 Apr 2013 12:10:12 GMT</pubDate><guid isPermaLink="false">New Post: IObservable&lt;Either&lt;T, Exception&gt;&gt; conversion 20130417121012P</guid></item><item><title>New Post: IObservable&lt;Either&lt;T, Exception&gt;&gt; conversion</title><link>http://rxx.codeplex.com/discussions/440585</link><description>&lt;div style="line-height: normal;"&gt;Hi,&lt;br /&gt;
&lt;br /&gt;
You can use &lt;a href="https://rxx.codeplex.com/SourceControl/changeset/view/70089#1128464" rel="nofollow"&gt;this overload of Select&lt;/a&gt;.  It allows you to project both sides of &lt;strong&gt;Either&lt;/strong&gt;.&lt;br /&gt;
&lt;br /&gt;
For example: &lt;br /&gt;
&lt;div style="color:Black;background-color:White;"&gt;&lt;pre&gt;
IObservable&amp;lt;Either&amp;lt;T, Exception&amp;gt;&amp;gt; xs = GetObservableFromExternalSource();

IObservable&amp;lt;Either&amp;lt;T, MyAppException&amp;gt;&amp;gt; ys = xs.Select(t =&amp;gt; t, ex =&amp;gt; &lt;span style="color:Blue;"&gt;new&lt;/span&gt; MyAppException(ex));
&lt;/pre&gt;&lt;/div&gt;See also:&lt;br /&gt;
&lt;a href="https://rxx.codeplex.com/discussions/401272" rel="nofollow"&gt;https://rxx.codeplex.com/discussions/401272&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
- Dave&lt;br /&gt;
&lt;/div&gt;</description><author>davedev</author><pubDate>Wed, 17 Apr 2013 12:10:12 GMT</pubDate><guid isPermaLink="false">New Post: IObservable&lt;Either&lt;T, Exception&gt;&gt; conversion 20130417121012P</guid></item><item><title>New Post: IObservable&lt;Either&lt;T, Exception&gt;&gt; conversion</title><link>http://rxx.codeplex.com/discussions/440585</link><description>&lt;div style="line-height: normal;"&gt;so i have a subscription that returns IObservable&amp;lt;Either&amp;lt;T, Exception&amp;gt;&amp;gt; from an external source, and i would like to convert that into IObservable&amp;lt;Either&amp;lt;T, MyAppException&amp;gt;&amp;gt;, where MyAppException takes Exception as a parameter in ctor. &lt;br /&gt;
&lt;br /&gt;
can you please advise a way of doing this? thanks&lt;br /&gt;
&lt;/div&gt;</description><author>grantchik</author><pubDate>Wed, 17 Apr 2013 11:15:04 GMT</pubDate><guid isPermaLink="false">New Post: IObservable&lt;Either&lt;T, Exception&gt;&gt; conversion 20130417111504A</guid></item><item><title>New Post: IObservable&lt;Either&lt;T, Exception&gt;&gt; conversion</title><link>http://rxx.codeplex.com/discussions/440585</link><description>&lt;div style="line-height: normal;"&gt;so i have a subscription that returns IObservable&amp;lt;Either&amp;lt;T, Exception&amp;gt;&amp;gt; from an external source, and i would like to convert that into IObservable&amp;lt;Either&amp;lt;T, MyAppException&amp;gt;&amp;gt;, where MyAppException takes Exception as a parameter in ctor. &lt;br /&gt;
&lt;br /&gt;
can you please advise a way of doing this? thanks&lt;br /&gt;
&lt;/div&gt;</description><author>grantchik</author><pubDate>Wed, 17 Apr 2013 11:15:04 GMT</pubDate><guid isPermaLink="false">New Post: IObservable&lt;Either&lt;T, Exception&gt;&gt; conversion 20130417111504A</guid></item></channel></rss>