コア

  • CServer
    • サーバ本体

マネージャ

いろいろ管理するクラス郡。 外部モジュール化はしない

  • CConnectionManager
    • リスナから接続を受け取り、処理スレッドを起動する
    • CCnotextManager
      • コンテキストの管理を行う
    • COverloadManager
      • サーバ負荷の管理を行う
  • CFilterManager
    • フィルタモジュールの管理を行う
  • CListenerManager
    • リスナを管理する
  • CLogManager
    • ログの一時的なキャッシュなどを行う
  • CMimeTypeManager
    • 拡張子とMimeType、表示アイコンの関連付けを行う
  • CPathManager
    • サーバパスとローカルパスの管理を行う
  • CResponseManager
    • レスポンスモジュールの管理を行う
  • CServerStatusManager
    • サーバステータスの管理を行う
    • CSystemLogManager
      • システムログの管理を行う
  • CSettingManager
    • 設定の管理を行う

リスナ

通信を受け付けるクラス。 外部モジュール化は検討中

  • CNormalListener
    • 通常のHTTPアクセスを受け付けるリスナ

フィルタ

処理のフィルタリングを行うクラス。 外部モジュールが可能になる予定

  • CAccessLogFilter
    • アクセスログを出力する
  • CIndexFilter
    • インデックスファイルを検索する
  • CKeepAliveFilter
  • CPathFilter
    • ローカルパスを取得する
  • CServerInfoFilter
    • ヘッダにサーバ情報を設定する

レスポンス

レスポンスの生成を行うクラス。 外部モジュールが可能になる予定

  • CDirectoryIndexResponse
    • ディレクトリリストを表示する
  • CFileResponse.cpp
    • ファイルを表示する
  • CServerResponse
    • サーバレスポンスを表示する
    • このクラスは特別扱いで、通常の処理フローには含まれない。サーバレスポンス例外が発生したときに動作する