Closed Hexirp closed 4 years ago
provider ディレクトリを先頭につけたパスを返す機能が必要なのかも考えないと。この機能はつまり provider ディレクトリのパスを取得できるようにするということ。
Body の方はキャッシュは不要で、今の所キャッシュする必要があるのは ModificationTime だけ。
実行途中に provider ディレクトリの中身が変わってしまう危険性を考えると……
ByteString は Lazy の方にした方がいいかもしれない。最後まで取得するまでハンドルが閉じないらしいし。
実行途中に provider ディレクトリの中身が変わってしまう危険性を考えると……パスは公開しない方がいいよね?
徹底すると http://hackage.haskell.org/package/conduit-1.0.8/docs/Data-Conduit-Binary.html みたいな方向性になるかもしれない。
Strict の方にする理由はあんまりなくて、メモリに全部乗ったら負担が大きいかもしれない。
https://www.stackage.org/haddock/lts-15.3/base-4.13.0.0/System-IO.html#g:8
multiple-reader single-writer locking というロック戦略を使うらしい。複数の読み込み、または一つだけの書き込み。
ByteString を Lazy な方に変更する。全てのファイル名の取得の際に Set で返すように変更する。
See https://github.com/Hexirp/hexirp-hakyll/issues/98 . See https://github.com/Hexirp/hexirp-hakyll/issues/111 . See https://github.com/Hexirp/hexirp-hakyll/pull/112 .