{"action":"created","issue":{"url":"https://api.github.com/repos/alexcrichton/futures-rs/issues/110","repository_url":"https://api.github.com/repos/alexcrichton/futures-rs","labels_url":"https://api.github.com/repos/alexcrichton/futures-rs/issues/110/labels{/name}","comments_url":"https://api.github.com/repos/alexcrichton/futures-rs/issues/110/comments","events_url":"https://api.github.com/repos/alexcrichton/futures-rs/issues/110/events","html_url":"https://github.com/alexcrichton/futures-rs/issues/110","id":173772239,"number":110,"title":"Consider supporting Reactive Streams and Reactive Sockets","user":{"login":"drewhk","id":932285,"avatar_url":"https://avatars.githubusercontent.com/u/932285?v=3","gravatar_id":"","url":"https://api.github.com/users/drewhk","html_url":"https://github.com/drewhk","followers_url":"https://api.github.com/users/drewhk/followers","following_url":"https://api.github.com/users/drewhk/following{/other_user}","gists_url":"https://api.github.com/users/drewhk/gists{/gist_id}","starred_url":"https://api.github.com/users/drewhk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/drewhk/subscriptions","organizations_url":"https://api.github.com/users/drewhk/orgs","repos_url":"https://api.github.com/users/drewhk/repos","events_url":"https://api.github.com/users/drewhk/events{/privacy}","received_events_url":"https://api.github.com/users/drewhk/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":10,"created_at":"2016-08-29T13:17:52Z","updated_at":"2016-08-31T17:52:54Z","closed_at":"2016-08-30T18:46:48Z","body":"I am one of the developers of https://github.com/akka/akka/ and I just stumbled upon this nice library (I am a Rust lurker mostly). Futures are a very nice building block for asynchronous programs, but eventually one reaches the point where some kind of streaming abstraction is needed. The simplest streaming approach is the RX-style chained Observables, however, as we and others found out, with asynchronous call-chains backpressure becomes an issue as blocking is no longer available to throttle a producer. To solve this issue, the reactive-streams (RS) standard has been created: http://www.reactive-streams.org backed by various companies interested in the JVM landscape. This set of interoperability interfaces was designed by multiple teams together. This standard is also on its way to become part of JDK9. There is also an effort to expose its semantics as a wire-level protocol http://reactivesocket.io which nicely completements the RS standard (which mainly focuses on in-JVM asynchronous, ordered, backpressured communications).\r\n\r\nSince I imagine that eventually the need for asynchronous streams will arise here, I think these standards can be interesting for Rust, too. While RS might not be perfect, it was a result of a long design process and now has mostly consensus about it in the JVM land, so it would be nice to see a Rust implementation that is similar enough to be easily connectable to JVMs, maybe via reactive-socket. \r\n\r\nSorry for the shameless plug :)"},"comment":{"url":"https://api.github.com/repos/alexcrichton/futures-rs/issues/comments/243845692","html_url":"https://github.com/alexcrichton/futures-rs/issues/110#issuecomment-243845692","issue_url":"https://api.github.com/repos/alexcrichton/futures-rs/issues/110","id":243845692,"user":{"login":"alexcrichton","id":64996,"avatar_url":"https://avatars.githubusercontent.com/u/64996?v=3","gravatar_id":"","url":"https://api.github.com/users/alexcrichton","html_url":"https://github.com/alexcrichton","followers_url":"https://api.github.com/users/alexcrichton/followers","following_url":"https://api.github.com/users/alexcrichton/following{/other_user}","gists_url":"https://api.github.com/users/alexcrichton/gists{/gist_id}","starred_url":"https://api.github.com/users/alexcrichton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alexcrichton/subscriptions","organizations_url":"https://api.github.com/users/alexcrichton/orgs","repos_url":"https://api.github.com/users/alexcrichton/repos","events_url":"https://api.github.com/users/alexcrichton/events{/privacy}","received_events_url":"https://api.github.com/users/alexcrichton/received_events","type":"User","site_admin":false},"created_at":"2016-08-31T17:52:54Z","updated_at":"2016-08-31T17:52:54Z","body":"@drewhk note that we're still very interested to learn from any experiences you've had! There may be a bit of an impedance gap as we may not understand akka very thoroughly, but new kinds of combinators or ways to use streams is something we're always looking to explore!\r\n\r\nSo far it seems like they're both achieving very similar goals and you could conceptually transition between the two systems with ease, although I could be wrong!"}}
{"actor":{"display_login":"alexcrichton"}}