私が管理していない Java ライブラリのデータ パブリッシャーを使用しています。パブリッシャー ライブラリは、一般的なコールバック セットアップを使用します。ライブラリコードのどこかに(ライブラリはJavaですが、簡潔にするためにscalaで説明します):
type DataType = ???
trait DataConsumer {
def onData(data : DataType) : Unit
}
ライブラリのユーザーは、メソッドを実装するクラスを作成し、onData
それを に渡す必要がDataProducer
あります。ライブラリ コードは次のようになります。
class DataProducer(consumer : DataConsumer) {...}
にDataProducer
は、制御できない独自の内部スレッドと、消費するonData
別のオブジェクトがあるたびに呼び出される付随するデータ バッファーがあります。DataType
だから、私の質問は: 元のライブラリ パターンを akka ストリームのSourceオブジェクトに変換/変換するレイヤーをどのように作成すればよいですか?
前もって感謝します。