{"action":"created","issue":{"url":"https://api.github.com/repos/akka/akka/issues/16416","labels_url":"https://api.github.com/repos/akka/akka/issues/16416/labels{/name}","comments_url":"https://api.github.com/repos/akka/akka/issues/16416/comments","events_url":"https://api.github.com/repos/akka/akka/issues/16416/events","html_url":"https://github.com/akka/akka/issues/16416","id":50314927,"number":16416,"title":"add BidirectionalFlow","user":{"login":"rkuhn","id":470469,"avatar_url":"https://avatars.githubusercontent.com/u/470469?v=3","gravatar_id":"","url":"https://api.github.com/users/rkuhn","html_url":"https://github.com/rkuhn","followers_url":"https://api.github.com/users/rkuhn/followers","following_url":"https://api.github.com/users/rkuhn/following{/other_user}","gists_url":"https://api.github.com/users/rkuhn/gists{/gist_id}","starred_url":"https://api.github.com/users/rkuhn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rkuhn/subscriptions","organizations_url":"https://api.github.com/users/rkuhn/orgs","repos_url":"https://api.github.com/users/rkuhn/repos","events_url":"https://api.github.com/users/rkuhn/events{/privacy}","received_events_url":"https://api.github.com/users/rkuhn/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/akka/akka/labels/1%20-%20triaged","name":"1 - triaged","color":"5319e7"},{"url":"https://api.github.com/repos/akka/akka/labels/t:stream","name":"t:stream","color":"cccccc"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/akka/akka/milestones/34","labels_url":"https://api.github.com/repos/akka/akka/milestones/34/labels","id":968592,"number":34,"title":"streams-1.0-M4","description":"","creator":{"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},"open_issues":15,"closed_issues":0,"state":"open","created_at":"2015-02-06T11:43:15Z","updated_at":"2015-02-18T16:16:56Z","due_on":"2015-02-20T23:00:00Z","closed_at":null},"comments":2,"created_at":"2014-11-27T18:07:13Z","updated_at":"2015-02-18T16:34:27Z","closed_at":null,"body":"This is the piece that has two inputs and two outputs, allowing the modeling of an arbitrary protocol layer on top of a Source–Sink pair (a.k.a. Flow):\r\n~~~scala\r\ntrait BidirectionalFlow[In1, Out1, In2, Out2] {\r\n  def join[T, U](other: BidirectionalFlow[Out1, T, U, In2]): BidirectionalFlow[In1, T, U, Out2]\r\n  def join(flow: Flow[Out1, In2]): Flow[In1, Out2]\r\n  // plus matching method on FlowOps for the left side\r\n}\r\n~~~\r\nThe “flows” 1 and 2 are going in opposite directions, 1 being on the top (left to right) and 2 being on the bottom (right to left)."},"comment":{"url":"https://api.github.com/repos/akka/akka/issues/comments/74896386","html_url":"https://github.com/akka/akka/issues/16416#issuecomment-74896386","issue_url":"https://api.github.com/repos/akka/akka/issues/16416","id":74896386,"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},"created_at":"2015-02-18T16:34:27Z","updated_at":"2015-02-18T16:34:27Z","body":"This can be done immediately after https://github.com/akka/akka/issues/16902"}}