監視しているすべてのログを上から読んでいき、その時点でサブネットに属するすべてのサーバが故障している場合、そのサブネットが故障しているとみなす。そのサブネットに属するサーバの少なくとも1台以上が動作している場合、サブネットは故障していないとみなす。
WatchLogの第一引数に監視ログファイルのファイルパス、第二引数にN、第三引数にm、第四引数にtを渡すと、
<サーバアドレス>:<開始日時>-<終了日時>:<サーバの状態>
または
<サブネットアドレス>:<開始日時>-<終了日時>:<サブネットの状態>
の形で故障期間/過負荷期間を標準出力に出す。
複数のサーバが故障/過負荷している場合は順不同で出力する。
>java WatchLog Test\Input\input1.txt 1 2 1000
192.168.1.0:20201019133335-20201019133434:SubnetFailure
192.168.1.1/24:20201019133234-20201019133434:ServerFailure
192.168.1.2/24:20201019133335-20201019133535:ServerFailure
※Windowsのコマンドプロンプト環境下で動作する。
make test
するとテストを行う。
テストデータは\Test\Input\
下にinput*.txt
という名前で置かれており、
想定される出力が\Test\Output\
下にoutput*.txt
という名前で置かれている。
各テストの想定に関する説明と得られた出力は\Test\
下のREADMEを参照。
make clean
するとすべてのクラスファイルを削除する。