{"action":"created","issue":{"url":"https://api.github.com/repos/netty/netty/issues/4566","labels_url":"https://api.github.com/repos/netty/netty/issues/4566/labels{/name}","comments_url":"https://api.github.com/repos/netty/netty/issues/4566/comments","events_url":"https://api.github.com/repos/netty/netty/issues/4566/events","html_url":"https://github.com/netty/netty/pull/4566","id":121886786,"number":4566,"title":"Extract SocketAdress logic from NameResolver","user":{"login":"slandelle","id":849197,"avatar_url":"https://avatars.githubusercontent.com/u/849197?v=3","gravatar_id":"","url":"https://api.github.com/users/slandelle","html_url":"https://github.com/slandelle","followers_url":"https://api.github.com/users/slandelle/followers","following_url":"https://api.github.com/users/slandelle/following{/other_user}","gists_url":"https://api.github.com/users/slandelle/gists{/gist_id}","starred_url":"https://api.github.com/users/slandelle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/slandelle/subscriptions","organizations_url":"https://api.github.com/users/slandelle/orgs","repos_url":"https://api.github.com/users/slandelle/repos","events_url":"https://api.github.com/users/slandelle/events{/privacy}","received_events_url":"https://api.github.com/users/slandelle/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/netty/netty/labels/feature","name":"feature","color":"009800"}],"state":"open","locked":false,"assignee":{"login":"trustin","id":173918,"avatar_url":"https://avatars.githubusercontent.com/u/173918?v=3","gravatar_id":"","url":"https://api.github.com/users/trustin","html_url":"https://github.com/trustin","followers_url":"https://api.github.com/users/trustin/followers","following_url":"https://api.github.com/users/trustin/following{/other_user}","gists_url":"https://api.github.com/users/trustin/gists{/gist_id}","starred_url":"https://api.github.com/users/trustin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trustin/subscriptions","organizations_url":"https://api.github.com/users/trustin/orgs","repos_url":"https://api.github.com/users/trustin/repos","events_url":"https://api.github.com/users/trustin/events{/privacy}","received_events_url":"https://api.github.com/users/trustin/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/netty/netty/milestones/126","html_url":"https://github.com/netty/netty/milestones/4.1.0.CR1","labels_url":"https://api.github.com/repos/netty/netty/milestones/126/labels","id":1286123,"number":126,"title":"4.1.0.CR1","description":"","creator":{"login":"normanmaurer","id":439362,"avatar_url":"https://avatars.githubusercontent.com/u/439362?v=3","gravatar_id":"","url":"https://api.github.com/users/normanmaurer","html_url":"https://github.com/normanmaurer","followers_url":"https://api.github.com/users/normanmaurer/followers","following_url":"https://api.github.com/users/normanmaurer/following{/other_user}","gists_url":"https://api.github.com/users/normanmaurer/gists{/gist_id}","starred_url":"https://api.github.com/users/normanmaurer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/normanmaurer/subscriptions","organizations_url":"https://api.github.com/users/normanmaurer/orgs","repos_url":"https://api.github.com/users/normanmaurer/repos","events_url":"https://api.github.com/users/normanmaurer/events{/privacy}","received_events_url":"https://api.github.com/users/normanmaurer/received_events","type":"User","site_admin":false},"open_issues":6,"closed_issues":27,"state":"open","created_at":"2015-09-02T12:42:53Z","updated_at":"2015-12-13T09:18:07Z","due_on":null,"closed_at":null},"comments":8,"created_at":"2015-12-12T23:15:36Z","updated_at":"2015-12-14T07:27:03Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/netty/netty/pulls/4566","html_url":"https://github.com/netty/netty/pull/4566","diff_url":"https://github.com/netty/netty/pull/4566.diff","patch_url":"https://github.com/netty/netty/pull/4566.patch"},"body":"Motivation:\r\n\r\nAs discussed in #4529, NameResolver design shouldn't be resolving SocketAddresses (or String name + port) and return InetSocketAddresses. It should resolve String names and return InetAddresses.\r\nThis SocketAddress to InetSocketAddresses resolution is actually a different concern, used by Bootstrap.   \r\n\r\nModifications:\r\n\r\nExtract SocketAddress to InetSocketAddresses resolution concern to a new class hierarchy named `AddressResolver`.\r\nThese `AddressResolver`s delegate to `NameResolver`s.\r\n\r\nResult:\r\n\r\nBetter separation of concerns.\r\n\r\nNote that new `AddressResolver`s generate a bit more allocations because of the intermediate `Promise` and `List<InetAddress>`."},"comment":{"url":"https://api.github.com/repos/netty/netty/issues/comments/164368083","html_url":"https://github.com/netty/netty/pull/4566#issuecomment-164368083","issue_url":"https://api.github.com/repos/netty/netty/issues/4566","id":164368083,"user":{"login":"trustin","id":173918,"avatar_url":"https://avatars.githubusercontent.com/u/173918?v=3","gravatar_id":"","url":"https://api.github.com/users/trustin","html_url":"https://github.com/trustin","followers_url":"https://api.github.com/users/trustin/followers","following_url":"https://api.github.com/users/trustin/following{/other_user}","gists_url":"https://api.github.com/users/trustin/gists{/gist_id}","starred_url":"https://api.github.com/users/trustin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/trustin/subscriptions","organizations_url":"https://api.github.com/users/trustin/orgs","repos_url":"https://api.github.com/users/trustin/repos","events_url":"https://api.github.com/users/trustin/events{/privacy}","received_events_url":"https://api.github.com/users/trustin/received_events","type":"User","site_admin":false},"created_at":"2015-12-14T07:27:03Z","updated_at":"2015-12-14T07:27:03Z","body":"@slandelle Fine by me. How about adding `DnsNameResolver.asAddressResolver()`?"}}