XMPPがInferno OSでどのように見えるか(耳での考え)。

通常、低レベルでのプロトコルの実装は、ライブラリを引き受けます。 すべてをファイルの形で提示する場合、Inferno OSでそのような「ライブラリ」をどのように機能させるべきかを考える(想像する)ことにしました。



XMPPを実装するユーティリティ(以下、単にXMPP)は、JABBERサーバーとの接続を確立します。その結果、サーバーの運用と管理のために、ファイルがマウントポイント/ mnt / xmppに作成されます。



プレゼンス -ステータスとコマンドを書き込むファイル(使用不可など)、パラメーターの表示-表示方法(離れている-一時的に残っている、チャット-チャット、dnd-リソースがビジーか邪魔しないように...)、ステータス-宛先のステータス(オンライン、準備完了チャットする...メッセージを書き込む)、優先度-リソースの優先度、-サーバーに表示方法を「伝えた」。

サーバーからメッセージを読み取るメッセージファイル。

名簿を使用します。 ファイルには、対応するJabberIDに関するすべての情報を表示して操作する必要があります。

サーバーから情報を受信する例:



<item jid='romeo@example.net '

name = 'Romeo'

サブスクリプション= 'both'>

<group>友達</ group>

<group>本文</ group>

</ item>



名簿の各アイテムに対して、次のパラメーターが使用されます: jid、subscription、name、<group>

おそらく、マウントフォルダーには、受信者JIDを持つフォルダーが1つ、フォルダーが1つ-宛先が1つ、たとえばフォルダーがあるはずです。



iuser@jabber.org

secondusr@xmpp.ru



これらの各ファイル:



item-パラメータの読み取り/書き込み元のテキストファイル:name-この連絡先の名前の表示方法、subscription-subscription、group-連絡先が含まれるグループ。



受信者のサブスクリプションの存在と管理は<presence>タグによって決定されます。つまり、同じファイルが必要です。



Presence-コマンド(サブスクライブ、サブスクライブ解除、プローブ、または空の行)を記述し、ユーザー情報とそのステータスを表示するファイル:show、status、priorityパラメーター。



message-タイプ、件名、および本文パラメーターを使用してメッセージを読み取り/書き込みする場所(テキストを書き込む-受信者に送信され、ここから受信メッセージを読み取ります)。 例:

echo hello> /mnt/xmpp/iuser@jabber.org/messageは、テキスト「hello」をiuser@jabber.orgに送信します。

フォルダーの作成-連絡先が自動的に作成されます。

残念ながら、InfernoもXMPPのすべての機能も完全には知りません。これはすべて処理中です。

他の人の意見は非常に興味深いです: それはどうあるべきですか? :-)



All Articles