Twisted は Python で記述されたイベント駆動型のネットワークプログラミングフレームワークで、MIT License でライセンスされている。Twisted プロジェクトはTCP、UDP、SSL/TLS、、UNIXドメインソケットをサポートし、また、多数のプロトコル(HTTP、NNTP、IMAP、SSH、IRC、FTP など)をサポートしている。Twisted は論理的なプロトコル(通常 HTTP や POP3などのストリームベースのコネクションに依存している)と、そうしたストリームベースのセマンティクスをサポートした物理的なトランスポート層(ファイル、ソケット、SSL ライブラリなど)との完全な分離を目指して設計されている。論理的なプロトコルとトランスポート層との接続は、情報が論理プロトコル層に渡される最後の瞬間まで行われない。論理的なプロトコルはトランスポートレイヤのインスタンスを通知され、メッセージを送り返したり、相手の識別情報を確認したりするために使用することができる。ただし、プロトコルのコード内で、トランスポート層にトランスポート層内の問題について問い合わせを行うことが可能である。当然ながら、トランスポート層がそのような方法をサポートしていなければプロトコルのコードは失敗する。Twisted のアプリケーションモデルの中心は、"Deferred" (他の分野では"future"とも呼ばれる)の考え方である。Deferred とは、たとえば遠隔地の相手からデータを必要とするなどの理由によりまだ結果が計算されていない値である。Deferred は通常のオブジェクトのように他に渡すことはできるが、値を問い合わせることはできない。各 Deferred はコールバックチェインをサポートしており、Deferred が値を取得すると、コールバックの結果を次の入力として、コールバックチェーンを通じた通知が行われていく。これにより Deferred の値を知ることなく扱うことができる。たとえば、Deferred がリモートの IPアドレス を 4 桁の形式で格納する文字列を返すとき、それを 32 ビットの数値に変換するようコールバックを追加することができる。Deferred のユーザーは、これを 32ビットの数値を返す Deferred として扱えるようになる。この機能、および"エラーバック(errback)"(エラーハンドラーとして呼ばれるコールバック)を定義する機能により、イベントドリブンの抽象化を保ったままで、コード上は時系列に書くことを可能にしている。Twisted はスレッドを Deferred の入力として用いることで、生のスレッドに対する抽象化をサポートしている。すなわち、Deferred は即時に制御を返し、スレッドが終了したときに値を受け取る。メインスレッドで動作するコールバックを定義することができ、これにより複雑なロック処理の必要性を軽減させている。データベースの呼び出しそのものも外部スレッドとして行われるが、結果はメインスレッドで発生する。Twisted は GTK+、Qt や Cocoa ( を介して)などの、外部のイベントループと結合することができる。これにより GUI プログラムのネットワークサポート層として Twisted を用い、Python ネイティブのライブラリのようにソケットごとにスレッドを持ってしまうオーバーヘッドなしに、すべてのライブラリを使うことができる。このモデルを使うと、たとえば本格的な Web サーバを GUI プログラムと同一プロセス内で結合することができる。Twisted を用いたアプリケーションの実装で有名なものとしては、 がある。また が開発したエア・カナダの航空券予約システムは、Twisted を広範囲にわたって使用している。.
出典:wikipedia
LINEスタンプ制作に興味がある場合は、
下記よりスタンプファクトリーのホームページをご覧ください。