8.9 ニックネーム変更の追跡
すべての IRC サーバは最近のニックネームの変更履歴を保持することが要求されます.これは,ニックネームを操作するコマンドでニックネーム変更の競合状態が発生したときに,サーバが状況を把握する機会を持つために必要です.ニックネームの変更を追跡しなければならないコマンドは以下の通りです.
- KILL(キルされるニックネーム)
- MODE(+/- o,v)
- KICK(キックされるニックネーム)
他のコマンドは,ニックネームの変更をチェックさせません.
上記の場合,サーバはまずニックネームの存在を確認し,次にそのニックネームが現在誰に属しているかを確認するために履歴をチェックする必要があります(もし誰かいればですが!).これは競合状態の可能性を減らしますが,サーバが間違ったクライアントに影響を及ぼしてしまうということはまだ起こり得ます.上記のコマンドで変更履歴を調べるときは,時間範囲を指定し,古すぎるエントリは無視することをお勧めします.
合理的な履歴のために,サーバは,すべてのクライアントが変更することを決めた場合,サーバが知っているすべてのクライアントのために前のニックネームを保持することができるはずです.このサイズは他の要因(例えばメモリなど)によって制限されます.