{"action":"closed","issue":{"url":"https://api.github.com/repos/hanslub42/rlwrap/issues/49","repository_url":"https://api.github.com/repos/hanslub42/rlwrap","labels_url":"https://api.github.com/repos/hanslub42/rlwrap/issues/49/labels{/name}","comments_url":"https://api.github.com/repos/hanslub42/rlwrap/issues/49/comments","events_url":"https://api.github.com/repos/hanslub42/rlwrap/issues/49/events","html_url":"https://github.com/hanslub42/rlwrap/issues/49","id":167352723,"number":49,"title":"Make filters more efficient by introducing a NOT_INTERESTED tag","user":{"login":"hanslub42","id":6263546,"avatar_url":"https://avatars.githubusercontent.com/u/6263546?v=3","gravatar_id":"","url":"https://api.github.com/users/hanslub42","html_url":"https://github.com/hanslub42","followers_url":"https://api.github.com/users/hanslub42/followers","following_url":"https://api.github.com/users/hanslub42/following{/other_user}","gists_url":"https://api.github.com/users/hanslub42/gists{/gist_id}","starred_url":"https://api.github.com/users/hanslub42/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/hanslub42/subscriptions","organizations_url":"https://api.github.com/users/hanslub42/orgs","repos_url":"https://api.github.com/users/hanslub42/repos","events_url":"https://api.github.com/users/hanslub42/events{/privacy}","received_events_url":"https://api.github.com/users/hanslub42/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/hanslub42/rlwrap/labels/enhancement","name":"enhancement","color":"84b6eb"}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2016-07-25T12:18:55Z","updated_at":"2016-08-15T08:29:56Z","closed_at":"2016-08-15T08:29:56Z","body":"As soon as `rlwrap` uses a filter, _all_  input, output, prompts, history, etc are packed into tagged messages `(TAG_OUTPUT, 1024, \"blah ...\")` and then passed through the filter. Most filters are interested in only one or two message types, and will send back the other message types unchanged, which is a waste of processor time.\r\n\r\nProposal: Introduce an in-band  `TAG_NOT_INTERESTED`. Instead of an unchanged message, the filter can also send back `(TAG_NOT_INTERESTED, 0,\"\")`\r\n\r\nThis is undesirable in a pipeline, where a downstream filter may be interested in a message that didn't interest an upstream filter. Hence, there should be a way to fall back to the old behaviour.\r\n\r\nAn easy way to do that is to make the `pipeline` filter set an envirionment variable `ALWAYS_INTERESTED` that causes uninterested filters to always pass on the complete original message."}}
{"actor":{"display_login":"hanslub42"}}