1

認識してStream[F,A]いないコードベースの一部によって消費されるために、次のより「プリミティブなストリーミング インターフェイス」に変換する必要があります。fs2

trait PrimitiveStreamRepr[F[_]] {
  def read:  F[Option[A]]
  def close: F[Unit]
}

どうすればそれを行うことができますか?おそらく答えは、そのような変換は不可能であり、Java ストリーミング インターフェースを にラップするとfs2.Stream、「Java スタイル」のストリーミング インターフェースに「変換」できるようになるStreamため、トップ レベルまでバブルしなければならないということです。 someSinkおよびにパイプできますrun

4

1 に答える 1

0

基本的に、あなたが示唆しているのは、ストリームをステップスルーすることです。

ストリームのステッピングはまだ実装されており、PrimitiveStreamRepr 全体が Stream でラップされている場合に提案が可能になりますが、これはあなたが望むものではありません。

レガシー コードとのインターフェイスについては、利用可能なさまざまなキューとシグナルについて async._ パッケージを参照してください。

申し訳ありませんが、解決しようとしているレガシー コードの特定のケースが必要になります。

基本的に、fs2._ はレガシー コードと非常によく統合されており、同期か非同期かは関係ありません。ただし、最終的に非リソース セーフ コードになる内部機能は公開しません。

于 2016-07-22T03:43:48.297 に答える