)]}'
{"designate/service.py":[{"author":{"_account_id":8174,"name":"Tim Simmons","email":"tim.r.simmons@gmail.com","username":"TimSimmons"},"change_message_id":"0de3df1eec10902b83fa4a91f364734d1c76d084","unresolved":false,"context_lines":[{"line_number":332,"context_line":""},{"line_number":333,"context_line":"                query \u003d buf"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"                # Call into the DNS Application itself with payload and addr"},{"line_number":336,"context_line":"                for response in self._dns_application("},{"line_number":337,"context_line":"                        {\u0027payload\u0027: query, \u0027addr\u0027: addr}):"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"                    # Send back a response only if present"},{"line_number":340,"context_line":"                    if response is None:"},{"line_number":341,"context_line":"                        continue"},{"line_number":342,"context_line":""},{"line_number":343,"context_line":"                    # Handle TCP Responses"},{"line_number":344,"context_line":"                    msg_length \u003d len(response)"},{"line_number":345,"context_line":"                    tcp_response \u003d struct.pack(\"!H\", msg_length) + response"},{"line_number":346,"context_line":"                    client.sendall(tcp_response)"},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"        except socket.timeout:"},{"line_number":349,"context_line":"            LOG.info(_LI(\"TCP Timeout from: %(host)s:%(port)d\"),"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_4d7e8a19","line":346,"range":{"start_line":335,"start_character":16,"end_line":346,"end_character":48},"updated":"2016-04-29 17:21:01.000000000","message":"It would be nice to still be able to keep this code in `_dns_handle`, and make it so that this method would just return the multiple queries to be handled.\n\nThen gives those to `_dns_handle`, which would have the ability to process those multiple queries.\n\nJust so that we can keep this logic in once place. Does that make sense?","commit_id":"5c6c365d61eba402d086bfb9bfe97b9c36c56292"},{"author":{"_account_id":16962,"name":"Federico Ceratto","email":"federico.ceratto@gmail.com","username":"ceratto"},"change_message_id":"7b530782ec49bc60b4f626cf5dd6dc4c3fd3fbfc","unresolved":false,"context_lines":[{"line_number":332,"context_line":""},{"line_number":333,"context_line":"                query \u003d buf"},{"line_number":334,"context_line":""},{"line_number":335,"context_line":"                # Call into the DNS Application itself with payload and addr"},{"line_number":336,"context_line":"                for response in self._dns_application("},{"line_number":337,"context_line":"                        {\u0027payload\u0027: query, \u0027addr\u0027: addr}):"},{"line_number":338,"context_line":""},{"line_number":339,"context_line":"                    # Send back a response only if present"},{"line_number":340,"context_line":"                    if response is None:"},{"line_number":341,"context_line":"                        continue"},{"line_number":342,"context_line":""},{"line_number":343,"context_line":"                    # Handle TCP Responses"},{"line_number":344,"context_line":"                    msg_length \u003d len(response)"},{"line_number":345,"context_line":"                    tcp_response \u003d struct.pack(\"!H\", msg_length) + response"},{"line_number":346,"context_line":"                    client.sendall(tcp_response)"},{"line_number":347,"context_line":""},{"line_number":348,"context_line":"        except socket.timeout:"},{"line_number":349,"context_line":"            LOG.info(_LI(\"TCP Timeout from: %(host)s:%(port)d\"),"}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_1c7c501f","line":346,"range":{"start_line":335,"start_character":16,"end_line":346,"end_character":48},"in_reply_to":"1a122d0e_4d7e8a19","updated":"2016-05-04 13:46:18.000000000","message":"See reply to Kiall\u0027s comment","commit_id":"5c6c365d61eba402d086bfb9bfe97b9c36c56292"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"65ed3fcba808895161efe6edc300800c610386a4","unresolved":false,"context_lines":[{"line_number":391,"context_line":"                                  \"from: %(host)s:%(port)d\") %"},{"line_number":392,"context_line":"                              {\u0027host\u0027: addr[0], \u0027port\u0027: addr[1]})"},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"    def _dns_handle(self, addr, payload, client\u003dNone):"},{"line_number":395,"context_line":"        \"\"\""},{"line_number":396,"context_line":"        Handle a DNS Query"},{"line_number":397,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_cdd45a21","line":394,"range":{"start_line":394,"start_character":4,"end_line":394,"end_character":54},"updated":"2016-04-29 17:19:31.000000000","message":"So, I\u0027m not sure I like that this method is no longer used for TCP connections, I think we can refactor to keep the two codepaths (TCP/UDP) closer, and if that proves too ugly, we can at the least remove the unused TCP support from here and rename it to a UDP specific name.","commit_id":"5c6c365d61eba402d086bfb9bfe97b9c36c56292"},{"author":{"_account_id":16962,"name":"Federico Ceratto","email":"federico.ceratto@gmail.com","username":"ceratto"},"change_message_id":"7b530782ec49bc60b4f626cf5dd6dc4c3fd3fbfc","unresolved":false,"context_lines":[{"line_number":391,"context_line":"                                  \"from: %(host)s:%(port)d\") %"},{"line_number":392,"context_line":"                              {\u0027host\u0027: addr[0], \u0027port\u0027: addr[1]})"},{"line_number":393,"context_line":""},{"line_number":394,"context_line":"    def _dns_handle(self, addr, payload, client\u003dNone):"},{"line_number":395,"context_line":"        \"\"\""},{"line_number":396,"context_line":"        Handle a DNS Query"},{"line_number":397,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"1a122d0e_bca1dc48","line":394,"range":{"start_line":394,"start_character":4,"end_line":394,"end_character":54},"in_reply_to":"1a122d0e_cdd45a21","updated":"2016-05-04 13:46:18.000000000","message":"The TCP and UDP handling functions are quite critical code paths and we had a bug earlier on around exception handling.\nAs such, I didn\u0027t want to touch both of them in the same commit, instead I added the new stuff in this commit and did the refactor/cleanup in  https://review.openstack.org/#/c/311527/","commit_id":"5c6c365d61eba402d086bfb9bfe97b9c36c56292"}]}
