ruby-dev (Japanese) list archive (unofficial mirror)
 help / color / mirror / Atom feed
* [ruby-dev:45174] [ruby-trunk - Feature #5959][Assigned] Addrinfo#inspectname
@ 2012-02-02  8:16 Yui NARUSE
  2012-02-02  8:53 ` [ruby-dev:45175] " KOSAKI Motohiro
                   ` (2 more replies)
  0 siblings, 3 replies; 9+ messages in thread
From: Yui NARUSE @ 2012-02-02  8:16 UTC (permalink / raw
  To: ruby developers list


Issue #5959 has been reported by Yui NARUSE.

----------------------------------------
Feature #5959: Addrinfo#inspectname
https://bugs.ruby-lang.org/issues/5959

Author: Yui NARUSE
Status: Assigned
Priority: Normal
Assignee: Akira Tanaka
Category: 
Target version: 


Addrinfo の導入によって、Socket.getaddrinfo での正引き結果がオブジェクト化され、
元のホスト名を inspect で見れるようになってとても便利になったわけですが、
現在この元のホスト名をとりだす API がありません。

ホスト名とIP アドレスをセットで扱うのに、つまり解決済みの名前とアドレスの組を扱うのに Addrinfo って便利なので、
ホスト名を取り出す API が欲しいです。
現在の C での名前、inspectname か hostname あたりでどうでしょう。


-- 
http://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-dev:45175] Re: [ruby-trunk - Feature #5959][Assigned] Addrinfo#inspectname
  2012-02-02  8:16 [ruby-dev:45174] [ruby-trunk - Feature #5959][Assigned] Addrinfo#inspectname Yui NARUSE
@ 2012-02-02  8:53 ` KOSAKI Motohiro
  2012-02-02  9:12 ` [ruby-dev:45177] " Tanaka Akira
  2012-02-17  9:47 ` [ruby-dev:45261] [ruby-trunk - Feature #5959][Rejected] Addrinfo#inspectname Yui NARUSE
  2 siblings, 0 replies; 9+ messages in thread
From: KOSAKI Motohiro @ 2012-02-02  8:53 UTC (permalink / raw
  To: ruby developers list

> Addrinfo の導入によって、Socket.getaddrinfo での正引き結果がオブジェクト化され、
> 元のホスト名を inspect で見れるようになってとても便利になったわけですが、
> 現在この元のホスト名をとりだす API がありません。
>
> ホスト名とIP アドレスをセットで扱うのに、つまり解決済みの名前とアドレスの組を扱うのに Addrinfo って便利なので、
> ホスト名を取り出す API が欲しいです。
> 現在の C での名前、inspectname か hostname あたりでどうでしょう。

inspectname はあからさまに、inspect用というニュアンスを感じるのでそれ以外がいいなあ・・・
提案自体には特にコメントはなくてニュートラルです

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-dev:45177] Re: [ruby-trunk - Feature #5959][Assigned] Addrinfo#inspectname
  2012-02-02  8:16 [ruby-dev:45174] [ruby-trunk - Feature #5959][Assigned] Addrinfo#inspectname Yui NARUSE
  2012-02-02  8:53 ` [ruby-dev:45175] " KOSAKI Motohiro
@ 2012-02-02  9:12 ` Tanaka Akira
  2012-02-02  9:33   ` [ruby-dev:45178] " Tanaka Akira
  2012-02-17  9:47 ` [ruby-dev:45261] [ruby-trunk - Feature #5959][Rejected] Addrinfo#inspectname Yui NARUSE
  2 siblings, 1 reply; 9+ messages in thread
From: Tanaka Akira @ 2012-02-02  9:12 UTC (permalink / raw
  To: ruby developers list

2012年2月2日17:16 Yui NARUSE <naruse@airemix•jp>:

> Addrinfo の導入によって、Socket.getaddrinfo での正引き結果がオブジェクト化され、
> 元のホスト名を inspect で見れるようになってとても便利になったわけですが、
> 現在この元のホスト名をとりだす API がありません。
>
> ホスト名とIP アドレスをセットで扱うのに、つまり解決済みの名前とアドレスの組を扱うのに Addrinfo って便利なので、
> ホスト名を取り出す API が欲しいです。
> 現在の C での名前、inspectname か hostname あたりでどうでしょう。

inspectname はホスト名ではありません。

ドキュメントの例に

 *   Addrinfo.getaddrinfo("www.kame.net", 80, nil, :STREAM)
 *   #=> [#<Addrinfo: 203.178.141.194:80 TCP (www.kame.net:80)>,
 *   #    #<Addrinfo: [2001:200:0:8002:203:47ff:fea5:3085]:80 TCP
(www.kame.net:80)>]

というところの www.kame.net:80 というように、ポートがつくこともあります。
(いま動かすとなぜかつきませんが、それは意図せざる動作です。)

inspectname は生成したときの情報を inspect のためにわかりやすいように
残しておく、というのが意図です。

また、Addrinfo の生成時には必ずしもホスト名が存在するとは限らないように思います。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-dev:45178] Re: [ruby-trunk - Feature #5959][Assigned] Addrinfo#inspectname
  2012-02-02  9:12 ` [ruby-dev:45177] " Tanaka Akira
@ 2012-02-02  9:33   ` Tanaka Akira
  2012-02-02 10:13     ` [ruby-dev:45179] " NARUSE, Yui
  0 siblings, 1 reply; 9+ messages in thread
From: Tanaka Akira @ 2012-02-02  9:33 UTC (permalink / raw
  To: ruby developers list

2012年2月2日18:12 Tanaka Akira <akr@fsij•org>:
>
> inspectname はホスト名ではありません。
>
> ドキュメントの例に
>
>  *   Addrinfo.getaddrinfo("www.kame.net", 80, nil, :STREAM)
>  *   #=> [#<Addrinfo: 203.178.141.194:80 TCP (www.kame.net:80)>,
>  *   #    #<Addrinfo: [2001:200:0:8002:203:47ff:fea5:3085]:80 TCP
> (www.kame.net:80)>]
>
> というところの www.kame.net:80 というように、ポートがつくこともあります。
> (いま動かすとなぜかつきませんが、それは意図せざる動作です。)

おっと、これは意図的でした。:80 がアドレスの部分にすでに表示されていて、
冗長なので削ったでした。

"http" に指定すれば、inspectname がホスト名そのものでない例になります。

  % ./ruby -rsocket -rpp -e 'pp Addrinfo.getaddrinfo("www.kame.net",
"http", nil, :STREAM)'
  [#<Addrinfo: 203.178.141.194:80 TCP (www.kame.net:http)>,
   #<Addrinfo: [2001:200:dff:fff1:216:3eff:feb1:44d7]:80 TCP
(www.kame.net:http)>]

つまり、結論は同じで、inspectname はお望みのものではありません。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-dev:45179] Re: [ruby-trunk - Feature #5959][Assigned] Addrinfo#inspectname
  2012-02-02  9:33   ` [ruby-dev:45178] " Tanaka Akira
@ 2012-02-02 10:13     ` NARUSE, Yui
  2012-02-05 12:23       ` [ruby-dev:45192] " Tanaka Akira
  0 siblings, 1 reply; 9+ messages in thread
From: NARUSE, Yui @ 2012-02-02 10:13 UTC (permalink / raw
  To: ruby developers list

(2012/02/02 18:33), Tanaka Akira wrote:
> 2012年2月2日18:12 Tanaka Akira <akr@fsij•org>:
>>
>> inspectname はホスト名ではありません。
>>
>> ドキュメントの例に
>>
>>  *   Addrinfo.getaddrinfo("www.kame.net", 80, nil, :STREAM)
>>  *   #=> [#<Addrinfo: 203.178.141.194:80 TCP (www.kame.net:80)>,
>>  *   #    #<Addrinfo: [2001:200:0:8002:203:47ff:fea5:3085]:80 TCP
>> (www.kame.net:80)>]
>>
>> というところの www.kame.net:80 というように、ポートがつくこともあります。
>> (いま動かすとなぜかつきませんが、それは意図せざる動作です。)
> 
> おっと、これは意図的でした。:80 がアドレスの部分にすでに表示されていて、
> 冗長なので削ったでした。
> 
> "http" に指定すれば、inspectname がホスト名そのものでない例になります。
> 
>   % ./ruby -rsocket -rpp -e 'pp Addrinfo.getaddrinfo("www.kame.net",
> "http", nil, :STREAM)'
>   [#<Addrinfo: 203.178.141.194:80 TCP (www.kame.net:http)>,
>    #<Addrinfo: [2001:200:dff:fff1:216:3eff:feb1:44d7]:80 TCP
> (www.kame.net:http)>]
> 
> つまり、結論は同じで、inspectname はお望みのものではありません。

なるほど、ならばわたしが欲しいのは「inspectnameの一部」ですね。
削ればいいだけのように聞こえます。

> inspectname は生成したときの情報を inspect のためにわかりやすいように
> 残しておく、というのが意図です。
> 
> また、Addrinfo の生成時には必ずしもホスト名が存在するとは限らないように思います。

まさに生成したときの情報が欲しいので、こちらもそれで構いません。
ホスト名が存在しない場合は nil でいいんじゃないでしょうか。

-- 
NARUSE, Yui  <naruse@airemix•jp>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-dev:45192] Re: [ruby-trunk - Feature #5959][Assigned] Addrinfo#inspectname
  2012-02-02 10:13     ` [ruby-dev:45179] " NARUSE, Yui
@ 2012-02-05 12:23       ` Tanaka Akira
  2012-02-05 14:06         ` [ruby-dev:45194] " NARUSE, Yui
  0 siblings, 1 reply; 9+ messages in thread
From: Tanaka Akira @ 2012-02-05 12:23 UTC (permalink / raw
  To: ruby developers list

2012年2月2日19:13 NARUSE, Yui <naruse@airemix•jp>:

> なるほど、ならばわたしが欲しいのは「inspectnameの一部」ですね。
> 削ればいいだけのように聞こえます。

削ればいいのなら、inspect を使うのはどうでしょうか。

inspectname の安定性は、名前から類推できるように、inspect と同程度の見込みです。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-dev:45194] Re: [ruby-trunk - Feature #5959][Assigned] Addrinfo#inspectname
  2012-02-05 12:23       ` [ruby-dev:45192] " Tanaka Akira
@ 2012-02-05 14:06         ` NARUSE, Yui
  2012-02-06  4:06           ` [ruby-dev:45197] " Tanaka Akira
  0 siblings, 1 reply; 9+ messages in thread
From: NARUSE, Yui @ 2012-02-05 14:06 UTC (permalink / raw
  To: ruby developers list

(2012/02/05 21:23), Tanaka Akira wrote:
> 2012年2月2日19:13 NARUSE, Yui <naruse@airemix•jp>:
> 
>> なるほど、ならばわたしが欲しいのは「inspectnameの一部」ですね。
>> 削ればいいだけのように聞こえます。
> 
> 削ればいいのなら、inspect を使うのはどうでしょうか。
> 
> inspectname の安定性は、名前から類推できるように、inspect と同程度の見込みです。

現状では ad hoc にそうやってるんですが、API になっていないと他をいじりづらいんですよね。
以下のようなことをやりたいんですが。
その名前で引ける全てのサーバーの結果を得たい、と。

#!/usr/local/bin/ruby
require 'net/http'
class Addrinfo
  def to_str
    inspect[/\(([a-zA-Z\-\.]+)/, 1]
  end
  def +(a)
    inspect[/\(([a-zA-Z\-\.]+)/, 1] + a
  end
end
class Net::HTTP
  def conn_address
    @address.is_a?(Addrinfo) ? @address.ip_address : @address
  end
end
Addrinfo.getaddrinfo('rubyci.org', 'http', nil, :STREAM).each do |ai|
  p ai
  p Net::HTTP.get_response(ai, '/')
end

-- 
NARUSE, Yui  <naruse@airemix•jp>

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-dev:45197] Re: [ruby-trunk - Feature #5959][Assigned] Addrinfo#inspectname
  2012-02-05 14:06         ` [ruby-dev:45194] " NARUSE, Yui
@ 2012-02-06  4:06           ` Tanaka Akira
  0 siblings, 0 replies; 9+ messages in thread
From: Tanaka Akira @ 2012-02-06  4:06 UTC (permalink / raw
  To: ruby developers list

2012年2月5日23:06 NARUSE, Yui <naruse@airemix•jp>:
>
> 現状では ad hoc にそうやってるんですが、API になっていないと他をいじりづらいんですよね。
> 以下のようなことをやりたいんですが。

これって、前に、net/http に ipaddr: を加えようとした、
[ruby-dev:44368] の再挑戦ですかね。

「他をいじる」というのの「他」があまり明確ではありませんが、
「net/http をいじる」という意味でしょうか。

http proxy を通す場合は IP アドレスを指定できないので、
net/http レベルでの設定はあまり適切じゃないんじゃないかなぁ、と思っています。
-- 
[田中 哲][たなか あきら][Tanaka Akira]

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [ruby-dev:45261] [ruby-trunk - Feature #5959][Rejected] Addrinfo#inspectname
  2012-02-02  8:16 [ruby-dev:45174] [ruby-trunk - Feature #5959][Assigned] Addrinfo#inspectname Yui NARUSE
  2012-02-02  8:53 ` [ruby-dev:45175] " KOSAKI Motohiro
  2012-02-02  9:12 ` [ruby-dev:45177] " Tanaka Akira
@ 2012-02-17  9:47 ` Yui NARUSE
  2 siblings, 0 replies; 9+ messages in thread
From: Yui NARUSE @ 2012-02-17  9:47 UTC (permalink / raw
  To: ruby developers list


Issue #5959 has been updated by Yui NARUSE.

Status changed from Assigned to Rejected

並列動作を考えると libcurl 使ったほうが賢い気がしてきたので reject します
----------------------------------------
Feature #5959: Addrinfo#inspectname
https://bugs.ruby-lang.org/issues/5959

Author: Yui NARUSE
Status: Rejected
Priority: Normal
Assignee: Akira Tanaka
Category: 
Target version: 


Addrinfo の導入によって、Socket.getaddrinfo での正引き結果がオブジェクト化され、
元のホスト名を inspect で見れるようになってとても便利になったわけですが、
現在この元のホスト名をとりだす API がありません。

ホスト名とIP アドレスをセットで扱うのに、つまり解決済みの名前とアドレスの組を扱うのに Addrinfo って便利なので、
ホスト名を取り出す API が欲しいです。
現在の C での名前、inspectname か hostname あたりでどうでしょう。


-- 
http://bugs.ruby-lang.org/

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2012-02-17 10:03 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-02-02  8:16 [ruby-dev:45174] [ruby-trunk - Feature #5959][Assigned] Addrinfo#inspectname Yui NARUSE
2012-02-02  8:53 ` [ruby-dev:45175] " KOSAKI Motohiro
2012-02-02  9:12 ` [ruby-dev:45177] " Tanaka Akira
2012-02-02  9:33   ` [ruby-dev:45178] " Tanaka Akira
2012-02-02 10:13     ` [ruby-dev:45179] " NARUSE, Yui
2012-02-05 12:23       ` [ruby-dev:45192] " Tanaka Akira
2012-02-05 14:06         ` [ruby-dev:45194] " NARUSE, Yui
2012-02-06  4:06           ` [ruby-dev:45197] " Tanaka Akira
2012-02-17  9:47 ` [ruby-dev:45261] [ruby-trunk - Feature #5959][Rejected] Addrinfo#inspectname Yui NARUSE

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).