{"action":"created","issue":{"url":"https://api.github.com/repos/sshnet/SSH.NET/issues/144","repository_url":"https://api.github.com/repos/sshnet/SSH.NET","labels_url":"https://api.github.com/repos/sshnet/SSH.NET/issues/144/labels{/name}","comments_url":"https://api.github.com/repos/sshnet/SSH.NET/issues/144/comments","events_url":"https://api.github.com/repos/sshnet/SSH.NET/issues/144/events","html_url":"https://github.com/sshnet/SSH.NET/pull/144","id":197883090,"number":144,"title":"RFC: Rewrite PipeStream and SshCommand stream handling","user":{"login":"hifi","id":106598,"avatar_url":"https://avatars.githubusercontent.com/u/106598?v=3","gravatar_id":"","url":"https://api.github.com/users/hifi","html_url":"https://github.com/hifi","followers_url":"https://api.github.com/users/hifi/followers","following_url":"https://api.github.com/users/hifi/following{/other_user}","gists_url":"https://api.github.com/users/hifi/gists{/gist_id}","starred_url":"https://api.github.com/users/hifi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hifi/subscriptions","organizations_url":"https://api.github.com/users/hifi/orgs","repos_url":"https://api.github.com/users/hifi/repos","events_url":"https://api.github.com/users/hifi/events{/privacy}","received_events_url":"https://api.github.com/users/hifi/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":18,"created_at":"2016-12-28T16:51:51Z","updated_at":"2017-01-04T04:13:09Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/sshnet/SSH.NET/pulls/144","html_url":"https://github.com/sshnet/SSH.NET/pull/144","diff_url":"https://github.com/sshnet/SSH.NET/pull/144.diff","patch_url":"https://github.com/sshnet/SSH.NET/pull/144.patch"},"body":" + More efficient when moving large amounts of binary data\r\n    * Speedup on Mono: ~1.71x\r\n    * Speedup on Win10: ~1.39x\r\n + No in-memory buffering of data\r\n    * Except if you use the Execute() method to return a result\r\n      string\r\n    * The result string will be empty if you have read the output\r\n      stream completely\r\n - Unless you close or have something reading the error stream it\r\n   can completely block the execution as it will hang the event\r\n   handler indefinitely if no one is reading the other end\r\n - Reading from PipeStream will now always block until EOF\r\n - Writing to PipeStream will now always block until a reader has\r\n   completely emptied it\r\n\r\nThis has not been tested with anything else than SshCommand in a very limited way. I'm planning on adding InputStream on top of this if this refactor is in the right direction."},"comment":{"url":"https://api.github.com/repos/sshnet/SSH.NET/issues/comments/270291295","html_url":"https://github.com/sshnet/SSH.NET/pull/144#issuecomment-270291295","issue_url":"https://api.github.com/repos/sshnet/SSH.NET/issues/144","id":270291295,"user":{"login":"hifi","id":106598,"avatar_url":"https://avatars.githubusercontent.com/u/106598?v=3","gravatar_id":"","url":"https://api.github.com/users/hifi","html_url":"https://github.com/hifi","followers_url":"https://api.github.com/users/hifi/followers","following_url":"https://api.github.com/users/hifi/following{/other_user}","gists_url":"https://api.github.com/users/hifi/gists{/gist_id}","starred_url":"https://api.github.com/users/hifi/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hifi/subscriptions","organizations_url":"https://api.github.com/users/hifi/orgs","repos_url":"https://api.github.com/users/hifi/repos","events_url":"https://api.github.com/users/hifi/events{/privacy}","received_events_url":"https://api.github.com/users/hifi/received_events","type":"User","site_admin":false},"created_at":"2017-01-04T04:13:09Z","updated_at":"2017-01-04T04:13:09Z","body":"@drieseng Would an empty write do it? A write with zero count would queue normally but when the reader hits that empty buffer it would also return and not dequeue that from the linked list anymore?"}}
{"actor":{"display_login":"hifi"}}