読者です 読者をやめる 読者になる 読者になる

Domain#dispose()の存在意義?

Domainのソースコードから手を広げて見て回ってましたが、大体わかってきた。このDomainはTimer関連とEventEmitterに組み込まれる事でNode.jsのコアの一員となってます。そのへんもうちょい理解深めたらまとめたいと思います。
今、わかんないのがDomain#dispose()をどのタイミングで呼ぶべきなのか。これは結構いい加減な実装で、自分の中に抱え込んでるコールバックなどに最後に以下...

var endMethods = ['end', 'abort', 'destroy', 'destroySoon'];

この配列に入ってる名前のものを順に全部呼んでみるって寸法。このDomain#dispose()は探したけどコアの中では呼ばれている箇所が見つからない。もうちょい探索を進めます。たぶんユーザーコードでどうしても各箇所でストリームの後処理ができなかったとき(このシナリオがあるのかが、今、どうしてもわかんないんだけど)におまじないとして用意されているのかな?
一方でDomain#enter()とDomain#exit()は内部から呼び出されてます。その呼ばれ方を見ると、これはアプリケーションレベルで呼ぶメソッドではないかなという予感。ユーザーアプリレベルで使うのは、add()、bind()とそのシンタックスシュガーのrun()およびintercept()かなと。