編集(管理者用) | 編集 | 差分 | 新規作成 | 一覧 | RSS | FrontPage | 検索 | 更新履歴

合の拡張API -

目次

ノード間のプロトコルコマンド

/removed/ファイル名/時刻引数

    removedディレクトリに移動したレコードの時刻と識別子を返す。/ファイル名/時刻引数のフォーマット、及び出力フォーマットは/head同様である。

/request_relay/

ポート開放ができないノード(リレークライアント)がポートを開放したノード(リレーサーバー)に 他ノードからのコマンドをwebsocketで転送することを要求する。要求はwebsocketに準じた プロトコルである必要がある。最大リレー数の設定やリレーするノードのチェック等が考えられるが、 ここでは定義しない。相手ノードのIPアドレスはHTTPのヘッダから取得する。 要求が受け付けられた以降、リレークライアントは仮想的に <リレーサーバーのノード名>/relay/<リレークライアントのノード名> というノード名となる。例えばリレーサーバのノード名:relay.com/server.cgi、リレークライアントのノード名:client.com:8000/server.cgiとすれば relay.com:8000/server.cgi/relay/client.com:8000/server.cgi/ となる

/proxy/相手ノード名/コマンド

コマンドを相手ノード名へ転送する。リレークライアントから発行される。本コマンド発行元がリレークライアントか、/proxyを要求するノードが/pingを返すか、コマンドが規定のフォーマットであるか等のチェックが考えられるがここでは定義しない。レスポンスが来た後、リレークライアントへそのレスポンスを転送しなければならない。 なお、合及び朔で、/proxyが必要となるコマンドは/bye,/join、/updateであり、その他のコマンドである場合、拒否するチェックも考えられる。

/relay/リレー要求が受け付けられたノード名/コマンド

コマンドを、リレークライアントへweboscketを用いて転送する。第3ノードからリレークライアントへのコマンド発行に用いられる。ノード名がリレー要求を受け付けられているか、コマンドが規定のフォーマットであるか等のチェックが考えられるがここでは定義しない。リレークライアントからレスポンスが来た後、/relayを要求したノードへ、そのレスポンスを転送しなければならない。