とりあえずPure P2Pウェアを作るための共通フレームワークのようなものを作ってみようかと
思ってみました。

大まかな仕様としては、以下のような4つのモジュールに分割する事を考えました。
(1)データブロック(ファイルなど)を交換するルータ
(2)受信したデータを一時的にため込んでおくキャッシュ
(3)キャッシュにためるデータを選別するセレクタ
(4)受信したデータに対して何らかの処理を行うオペレータ

データフローを図示するとこんな感じですね。

P2Pネットワーク
 ↓↑
ルータ
 ↓↑ ←セレクタ
キャッシュ
  ↓
オペレータ

オペレータとセレクタをプラグインDLLとして実装する事でいろんなものが作れるのではないかと
考えています。どうでしょう?