{"action":"created","issue":{"url":"https://api.github.com/repos/Reactive-Extensions/Rx.NET/issues/170","repository_url":"https://api.github.com/repos/Reactive-Extensions/Rx.NET","labels_url":"https://api.github.com/repos/Reactive-Extensions/Rx.NET/issues/170/labels{/name}","comments_url":"https://api.github.com/repos/Reactive-Extensions/Rx.NET/issues/170/comments","events_url":"https://api.github.com/repos/Reactive-Extensions/Rx.NET/issues/170/events","html_url":"https://github.com/Reactive-Extensions/Rx.NET/pull/170","id":146975619,"number":170,"title":"Using async/await in System.Interactive.Async","user":{"login":"aelij","id":496737,"avatar_url":"https://avatars.githubusercontent.com/u/496737?v=3","gravatar_id":"","url":"https://api.github.com/users/aelij","html_url":"https://github.com/aelij","followers_url":"https://api.github.com/users/aelij/followers","following_url":"https://api.github.com/users/aelij/following{/other_user}","gists_url":"https://api.github.com/users/aelij/gists{/gist_id}","starred_url":"https://api.github.com/users/aelij/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/aelij/subscriptions","organizations_url":"https://api.github.com/users/aelij/orgs","repos_url":"https://api.github.com/users/aelij/repos","events_url":"https://api.github.com/users/aelij/events{/privacy}","received_events_url":"https://api.github.com/users/aelij/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Reactive-Extensions/Rx.NET/labels/2%20-%20Ready%20for%20Review","name":"2 - Ready for Review","color":"cccccc"},{"url":"https://api.github.com/repos/Reactive-Extensions/Rx.NET/labels/cla-already-signed","name":"cla-already-signed","color":"0e8a16"},{"url":"https://api.github.com/repos/Reactive-Extensions/Rx.NET/labels/[area]%20Ix","name":"[area] Ix","color":"1d76db"}],"state":"open","locked":false,"assignee":{"login":"mattpodwysocki","id":49051,"avatar_url":"https://avatars.githubusercontent.com/u/49051?v=3","gravatar_id":"","url":"https://api.github.com/users/mattpodwysocki","html_url":"https://github.com/mattpodwysocki","followers_url":"https://api.github.com/users/mattpodwysocki/followers","following_url":"https://api.github.com/users/mattpodwysocki/following{/other_user}","gists_url":"https://api.github.com/users/mattpodwysocki/gists{/gist_id}","starred_url":"https://api.github.com/users/mattpodwysocki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattpodwysocki/subscriptions","organizations_url":"https://api.github.com/users/mattpodwysocki/orgs","repos_url":"https://api.github.com/users/mattpodwysocki/repos","events_url":"https://api.github.com/users/mattpodwysocki/events{/privacy}","received_events_url":"https://api.github.com/users/mattpodwysocki/received_events","type":"User","site_admin":false},"assignees":[{"login":"mattpodwysocki","id":49051,"avatar_url":"https://avatars.githubusercontent.com/u/49051?v=3","gravatar_id":"","url":"https://api.github.com/users/mattpodwysocki","html_url":"https://github.com/mattpodwysocki","followers_url":"https://api.github.com/users/mattpodwysocki/followers","following_url":"https://api.github.com/users/mattpodwysocki/following{/other_user}","gists_url":"https://api.github.com/users/mattpodwysocki/gists{/gist_id}","starred_url":"https://api.github.com/users/mattpodwysocki/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mattpodwysocki/subscriptions","organizations_url":"https://api.github.com/users/mattpodwysocki/orgs","repos_url":"https://api.github.com/users/mattpodwysocki/repos","events_url":"https://api.github.com/users/mattpodwysocki/events{/privacy}","received_events_url":"https://api.github.com/users/mattpodwysocki/received_events","type":"User","site_admin":false},{"login":"shiftkey","id":359239,"avatar_url":"https://avatars.githubusercontent.com/u/359239?v=3","gravatar_id":"","url":"https://api.github.com/users/shiftkey","html_url":"https://github.com/shiftkey","followers_url":"https://api.github.com/users/shiftkey/followers","following_url":"https://api.github.com/users/shiftkey/following{/other_user}","gists_url":"https://api.github.com/users/shiftkey/gists{/gist_id}","starred_url":"https://api.github.com/users/shiftkey/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/shiftkey/subscriptions","organizations_url":"https://api.github.com/users/shiftkey/orgs","repos_url":"https://api.github.com/users/shiftkey/repos","events_url":"https://api.github.com/users/shiftkey/events{/privacy}","received_events_url":"https://api.github.com/users/shiftkey/received_events","type":"User","site_admin":true},{"login":"bartdesmet","id":7324746,"avatar_url":"https://avatars.githubusercontent.com/u/7324746?v=3","gravatar_id":"","url":"https://api.github.com/users/bartdesmet","html_url":"https://github.com/bartdesmet","followers_url":"https://api.github.com/users/bartdesmet/followers","following_url":"https://api.github.com/users/bartdesmet/following{/other_user}","gists_url":"https://api.github.com/users/bartdesmet/gists{/gist_id}","starred_url":"https://api.github.com/users/bartdesmet/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bartdesmet/subscriptions","organizations_url":"https://api.github.com/users/bartdesmet/orgs","repos_url":"https://api.github.com/users/bartdesmet/repos","events_url":"https://api.github.com/users/bartdesmet/events{/privacy}","received_events_url":"https://api.github.com/users/bartdesmet/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/Reactive-Extensions/Rx.NET/milestones/2","html_url":"https://github.com/Reactive-Extensions/Rx.NET/milestones/3.0.1","labels_url":"https://api.github.com/repos/Reactive-Extensions/Rx.NET/milestones/2/labels","id":1833193,"number":2,"title":"3.0.1","description":"","creator":{"login":"onovotny","id":1427284,"avatar_url":"https://avatars.githubusercontent.com/u/1427284?v=3","gravatar_id":"","url":"https://api.github.com/users/onovotny","html_url":"https://github.com/onovotny","followers_url":"https://api.github.com/users/onovotny/followers","following_url":"https://api.github.com/users/onovotny/following{/other_user}","gists_url":"https://api.github.com/users/onovotny/gists{/gist_id}","starred_url":"https://api.github.com/users/onovotny/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/onovotny/subscriptions","organizations_url":"https://api.github.com/users/onovotny/orgs","repos_url":"https://api.github.com/users/onovotny/repos","events_url":"https://api.github.com/users/onovotny/events{/privacy}","received_events_url":"https://api.github.com/users/onovotny/received_events","type":"User","site_admin":false},"open_issues":9,"closed_issues":2,"state":"open","created_at":"2016-06-16T20:35:58Z","updated_at":"2016-06-24T23:43:28Z","due_on":null,"closed_at":null},"comments":17,"created_at":"2016-04-08T16:29:27Z","updated_at":"2016-06-29T20:48:42Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/Reactive-Extensions/Rx.NET/pulls/170","html_url":"https://github.com/Reactive-Extensions/Rx.NET/pull/170","diff_url":"https://github.com/Reactive-Extensions/Rx.NET/pull/170.diff","patch_url":"https://github.com/Reactive-Extensions/Rx.NET/pull/170.patch"},"body":"Hi,\r\n\r\nThis PR is a precursor to implementing all the operators with async delegates. With async/await this will be very easy to implement. It also simplifies the code a great deal.\r\n\r\nFor example:\r\n\r\n```csharp\r\nIAsyncEnumerable<T> WhereAsync<T>(this IAsyncEnumerable<T> enumerable, Func<T, Task<bool>> predicate)\r\n```\r\n\r\nMy motivation is the release of Service Fabric, which exposes its own `IAsyncEnumerable<T>` interface. With a simple wrapper (such as the one [here](https://gist.github.com/aelij/987d974c811865029564f1bbeffb6b47)) it would be possible to use `System.Interactive.Async` with it. Since SF reliable collections only expose an async enumerable, this is the only option to use LINQ. The async delegate versions of the operators are also very useful in cross-collection queries (as you can see in the aforementioned Gist).\r\n\r\nI realize this is a pretty big (unsolicited ;) change, but hopefully you'll consider it.\r\n\r\nEli.\n\n<!-- Reviewable:start -->\n---\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"35\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/reactive-extensions/rx.net/170)\n<!-- Reviewable:end -->\n"},"comment":{"url":"https://api.github.com/repos/Reactive-Extensions/Rx.NET/issues/comments/229483904","html_url":"https://github.com/Reactive-Extensions/Rx.NET/pull/170#issuecomment-229483904","issue_url":"https://api.github.com/repos/Reactive-Extensions/Rx.NET/issues/170","id":229483904,"user":{"login":"onovotny","id":1427284,"avatar_url":"https://avatars.githubusercontent.com/u/1427284?v=3","gravatar_id":"","url":"https://api.github.com/users/onovotny","html_url":"https://github.com/onovotny","followers_url":"https://api.github.com/users/onovotny/followers","following_url":"https://api.github.com/users/onovotny/following{/other_user}","gists_url":"https://api.github.com/users/onovotny/gists{/gist_id}","starred_url":"https://api.github.com/users/onovotny/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/onovotny/subscriptions","organizations_url":"https://api.github.com/users/onovotny/orgs","repos_url":"https://api.github.com/users/onovotny/repos","events_url":"https://api.github.com/users/onovotny/events{/privacy}","received_events_url":"https://api.github.com/users/onovotny/received_events","type":"User","site_admin":false},"created_at":"2016-06-29T20:48:42Z","updated_at":"2016-06-29T20:48:42Z","body":"\n\n\n\nReviewed 6 of 13 files at r1, 15 of 15 files at r2.\nReview status: all files reviewed at latest revision, 1 unresolved discussion.\n\n---\n\n\n\n*Comments from [Reviewable](https://reviewable.io:443/reviews/reactive-extensions/rx.net/170)*\n<!-- Sent from Reviewable.io -->\n"}}
{"actor":{"display_login":"onovotny"}}