{"action":"created","issue":{"url":"https://api.github.com/repos/swift-nav/piksi_buildroot/issues/1039","repository_url":"https://api.github.com/repos/swift-nav/piksi_buildroot","labels_url":"https://api.github.com/repos/swift-nav/piksi_buildroot/issues/1039/labels{/name}","comments_url":"https://api.github.com/repos/swift-nav/piksi_buildroot/issues/1039/comments","events_url":"https://api.github.com/repos/swift-nav/piksi_buildroot/issues/1039/events","html_url":"https://github.com/swift-nav/piksi_buildroot/pull/1039","id":388464088,"node_id":"MDExOlB1bGxSZXF1ZXN0MjM2NzI0NTA2","number":1039,"title":"Endpoint router rule cache [ESD-117]","user":{"login":"silverjam","id":183436,"node_id":"MDQ6VXNlcjE4MzQzNg==","avatar_url":"https://avatars3.githubusercontent.com/u/183436?v=4","gravatar_id":"","url":"https://api.github.com/users/silverjam","html_url":"https://github.com/silverjam","followers_url":"https://api.github.com/users/silverjam/followers","following_url":"https://api.github.com/users/silverjam/following{/other_user}","gists_url":"https://api.github.com/users/silverjam/gists{/gist_id}","starred_url":"https://api.github.com/users/silverjam/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/silverjam/subscriptions","organizations_url":"https://api.github.com/users/silverjam/orgs","repos_url":"https://api.github.com/users/silverjam/repos","events_url":"https://api.github.com/users/silverjam/events{/privacy}","received_events_url":"https://api.github.com/users/silverjam/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2018-12-07T01:09:38Z","updated_at":"2018-12-07T08:59:33Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/swift-nav/piksi_buildroot/pulls/1039","html_url":"https://github.com/swift-nav/piksi_buildroot/pull/1039","diff_url":"https://github.com/swift-nav/piksi_buildroot/pull/1039.diff","patch_url":"https://github.com/swift-nav/piksi_buildroot/pull/1039.patch"},"body":"+ Use a rule cache to make processing of router rules more efficient\r\n\r\n+ Previously the router would process rules one at a time as data arrived in order to find any matching rules.  Instead the list of rules can be pre-processed using the prefixes specified in the rule list to build a hash map that maps a rule prefix to a list of ports.  When data arrives, the first N bytes is used to look-up the list of ports that the data should be sent to\r\n\r\n+ This results a drop in the latency required to process a packet as seen below and should also result in a drop in the max latency seen for packets that match many rules or don't match a rule until the very end of a rule set."},"comment":{"url":"https://api.github.com/repos/swift-nav/piksi_buildroot/issues/comments/445166355","html_url":"https://github.com/swift-nav/piksi_buildroot/pull/1039#issuecomment-445166355","issue_url":"https://api.github.com/repos/swift-nav/piksi_buildroot/issues/1039","id":445166355,"node_id":"MDEyOklzc3VlQ29tbWVudDQ0NTE2NjM1NQ==","user":{"login":"anonymous-travis-swiftnav","id":21373101,"node_id":"MDQ6VXNlcjIxMzczMTAx","avatar_url":"https://avatars2.githubusercontent.com/u/21373101?v=4","gravatar_id":"","url":"https://api.github.com/users/anonymous-travis-swiftnav","html_url":"https://github.com/anonymous-travis-swiftnav","followers_url":"https://api.github.com/users/anonymous-travis-swiftnav/followers","following_url":"https://api.github.com/users/anonymous-travis-swiftnav/following{/other_user}","gists_url":"https://api.github.com/users/anonymous-travis-swiftnav/gists{/gist_id}","starred_url":"https://api.github.com/users/anonymous-travis-swiftnav/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/anonymous-travis-swiftnav/subscriptions","organizations_url":"https://api.github.com/users/anonymous-travis-swiftnav/orgs","repos_url":"https://api.github.com/users/anonymous-travis-swiftnav/repos","events_url":"https://api.github.com/users/anonymous-travis-swiftnav/events{/privacy}","received_events_url":"https://api.github.com/users/anonymous-travis-swiftnav/received_events","type":"User","site_admin":false},"created_at":"2018-12-07T08:59:33Z","updated_at":"2018-12-07T08:59:33Z","author_association":"COLLABORATOR","body":"\n## HITL smoke tests: v2.1.0-develop-2018120522-15-g9fb3fc3a\n\nThese test runs are kicked off whenever you push a new commit to this PR. All passfail metrics in these runs must pass for the `hitl/pass-fail` status to be marked successful.\n\n### job status\n+ [live-roof-650-townsend-post runs](https://gnss-analysis.swiftnav.com/jobs/id=801096)\n\n### gnss-analysis results\nAt least one run must complete for these links to have data.\n\n#### passfail\"\n+ [live-roof-650-townsend-post](https://gnss-analysis.swiftnav.com/metrics_preset=pass_fail&scenario=live-roof-650-townsend-post&summary_type=q50&groupby_key=firmware&firmware_versions=v2.1.0-develop-2018120522-15-g9fb3fc3a&build_type=buildroot_pr&display_type=table)\n\n#### detailed\n+ [live-roof-650-townsend-post](https://gnss-analysis.swiftnav.com/metrics_preset=detailed&scenario=live-roof-650-townsend-post&summary_type=q50&groupby_key=firmware&firmware_versions=v2.1.0-develop-2018120522-15-g9fb3fc3a&build_type=buildroot_pr&display_type=table)\n"}}
{"actor":{"display_login":"anonymous-travis-swiftnav"}}