Erlang のドキュメントには、gen_servers について次のように記載されています。
...
通常、シャットダウン、または {shutdown,Term} 以外の理由では、gen_server はエラーのために終了すると見なされ、error_logger:format/2 を使用してエラー レポートが発行されることに注意してください。
ソース: http://www.erlang.org/doc/man/gen_server.html#Module:terminate-2
これらの 3 つの理由以外はエラーと見なされるため、理由normal、 、shutdownおよび{shutdown, Reason}が正常な動作と見なされると推測します。
通常の状態で gen_server を停止するこれら 3 つの理由を選択した開発者には何らかの動機があると思いますが、どれを使用するかを決定する方法がよくわかりません。
normalでは、いつ、shutdownおよびを使用する必要があり{shutdown, Reason}ますか?