Twisted Twistedの概要

Twisted

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/08/17 03:39 UTC 版)

Twisted プロジェクトはTCPUDPSSL/TLSIPマルチキャストUNIXドメインソケットをサポートし、また、多数のプロトコル (HTTPNNTPIMAPSSHIRCFTP など) をサポートしている。

中心的な概念

プロトコルとトランスポートの分離

Twisted は論理的なプロトコル(通常 HTTP や POP3などのストリームベースのコネクションに依存している)と、そうしたストリームベースのセマンティクス[要曖昧さ回避]をサポートした物理的なトランスポート層(ファイル、ソケット、SSL ライブラリなど)との完全な分離を目指して設計されている。論理的なプロトコルとトランスポート層との接続は、情報が論理プロトコル層に渡される最後の瞬間まで行われない。論理的なプロトコルはトランスポートレイヤのインスタンスを通知され、メッセージを送り返したり、相手の識別情報を確認したりするために使用することができる。ただし、プロトコルのコード内で、 トランスポート層にトランスポート層内の問題について問い合わせを行うことが可能である。当然ながら、トランスポート層がそのような方法をサポートしていなければプロトコルのコードは失敗する。

Deferred (遅延評価オブジェクト)

Twisted のアプリケーションモデルの中心は、Deferred (遅延) という概念である。これは一般的なデザインパターンの分野ではFutureとも呼ばれる。Deferred とは、たとえば遠隔地の相手からデータを必要とするなどの理由によりまだ結果が計算されていない値である。Deferred は通常のオブジェクトのように他に渡すことはできるが、値を問い合わせることはできない。各 Deferred はコールバックチェインをサポートしており、Deferred が値を取得すると、コールバックの結果を次の入力として、コールバックチェーンを通じた通知が行われていく。これにより Deferred の値を知ることなく扱うことができる。たとえば、Deferred がリモートの IPアドレス を 4 桁の形式で格納する文字列を返すとき、それを 32 ビットの数値に変換するようコールバックを追加することができる。Deferred のユーザーは、これを 32ビットの数値を返す Deferred として扱えるようになる。この機能、および "エラーバック" (errback; エラーハンドラーとして呼ばれるコールバック) を定義する機能により、イベントドリブンの抽象化を保ったままで、コード上は時系列に書くことを可能にしている。

スレッドのサポート

Twisted はスレッドを Deferred の入力として用いることで、生のスレッドに対する抽象化をサポートしている。すなわち、Deferred は即時に制御を返し、スレッドが終了したときに値を受け取る。メインスレッドで動作するコールバックを定義することができ、これにより複雑なロック処理の必要性を軽減させている。 データベースの呼び出しそのものも外部スレッドとして行われるが、結果はメインスレッドで発生する。

外部イベントループ

TwistedはGTKQtCocoaPyObjC を介して)などの、外部のイベントループと結合することができる。これによりGUIプログラムのネットワークサポート層としてTwistedを用い、Pythonネイティブのライブラリのようにソケットごとにスレッドを持ってしまうオーバーヘッドなしに、すべてのライブラリを使うことができる。このモデルを使うと、たとえば本格的なWebサーバをGUIプログラムと同一プロセス内で結合することができる。

Twisted を使用しているアプリケーション

Twisted を用いたアプリケーションの実装で有名なものとしては、Jaiku がある。また ITA Software が開発したエア・カナダの航空券予約システムは、Twisted を広範囲にわたって使用している。[1].

関連項目

  • Perl Object Environment - Perl プログラミング言語のための相当するフレームワーク
  • Twisted Lore - Twisted チームが開発したドキュメント生成プログラム

脚注

  1. ^ http://www.eweek.com/c/a/Application-Development/Python-Slithers-into-Systems/1/

外部リンク




「Twisted」の続きの解説一覧




固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「Twisted」の関連用語


2
TN方式 デジタル大辞泉
90% |||||

3
TPケーブル デジタル大辞泉
90% |||||

4
エス‐ティー‐ピー デジタル大辞泉
90% |||||

5
ユー‐ティー‐ピー デジタル大辞泉
74% |||||



8
56% |||||

9
56% |||||

10
56% |||||

Twistedのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



Twistedのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのTwisted (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS