標準TTLだけ(!)でCPUをつくろう!(組立てキットです!)
(ホントは74HC、CMOSなんだけど…)
[第425回]

●パイプとエンドポイント

前回の説明で、USBは、ホスト(パソコン)とUSB端末とを接続する1本のUSB接続ケーブルを使って、データを多重に伝送することができ、その仮想的な多重伝送路の1本1本を「パイプ」といいます、という説明をしました。
パイプはホスト(パソコン)とUSB端末とを接続する複数設定可能な仮想伝送路です。
そしてそのパイプにつけられる名前が「エンドポイント」です、というように書きました。

厳密にいうとパイプとエンドポイントはちょっと違うのですけれど、アプリケーションの上でもパイプという名称は抽象的な概念で、エンドポイントbフほうがより直接的なターゲットとして使われるようですので、そのほうがわかりやすいと思って、そういうような説明をしました。

ところが、またいろいろ調べものをしていて、たまたまWikipediaを見ましたら、こんなことが書いてあるのをみつけてしまいました。

The term endpoint is occasionally incorrectly used for referring to the pipe, although while an endpoint exists on the device permanently, a pipe is only formed when the host makes a connection to the endpoint. Therefore, when referring to the connection between a host and an endpoint, the term pipe should be used.
[出典]Wikipedia(アンダーラインは筆者)

パイプのことをエンドポイントと称してはいかんのだそうで。
ええ、ええ、わかってますって。
ですけれど、こうあからさまに、「誤用」だと決め付けられてしまうと、やっぱりそういう使い方はいかんか、と反省しなきゃいかんような気になってしまいます。
はい。はい。そうです。その通りです。
ですから、謹んで、ここに訂正いたしますです。

ああ、えへん、ですから、エンドポイントというものは、デバイスに最初から備わっているものでありましてえ。
一方、パイプというのは、ホストがそのエンドポイントと接続したときだけ(仮想的に)形成されるものでありますからして。
したがいまして、ホストとエンドポイントとの接続を意味する言葉といたしましては、あくまで「パイプ」と称するべきなのでありまする、だそうです。

まあ、そりゃあ、確かに、そうなのですけれどねぇ。
デバイス[1]のエンドポイント[2]に接続したINパイプ[1]を使って…、なんて言っていると、ただでさえややこしいのに、そのうち、「さっぱりわけわかめ」になってしまいまする。
わかりやすいように、パイプにエンドポイントナンバーというラベルを貼りつけてもいいことにしましょうよお。
2010.1.30upload

前へ
次へ
ホームページトップへ戻る