猫型エンジニアのブログ

プログラム/ネットワーク系の技術関連をまとめたページです 

Ryuのソースコード解読メモ

 オブジェクト指向のプログラムなので、アプリケーションを作成するプログラマが把握する必要のあるメソッドと、裏で動作するためユーザが意識する必要のないメソッドが混ざっている。比率としては、圧倒的に後者の方が多い。プログラマが把握しているのは氷山の一角。

アーキテクチャ

 geventからeventletに乗り換えた模様。<=それぞれ何の役に立っているのか?greenletとは何なのか?名前から察するにeventに関連する機能のようだが。

ディレクトリ

/ryu/ryu/lib  ここのソースコードはRyu以外でも再利用が可能。特にraw_socketプログラムにおいてプロトコルのひな形に使える。

クラス

RyuAppクラス  全てのRyuアプリケーションの基底クラス。ryu-managerがリクエストされた各
Ryuアプリケーションをloadする際に初期化される。

controller.py
eventletでサーバの永続化する際に、handleはdatapath_connection_factoryを使用している。