フロー A が生成する場合
Pair<Source<ByteString,?>, Object>
このアウトレットを、ソースにマッピングされているフロー B のインレットに接続するにはどうすればよいですか。たとえば、フロー B のアウトレットは次のようになります。
Pair<InputStream<Long>,Object>.
フロー A が生成する場合
Pair<Source<ByteString,?>, Object>
このアウトレットを、ソースにマッピングされているフロー B のインレットに接続するにはどうすればよいですか。たとえば、フロー B のアウトレットは次のようになります。
Pair<InputStream<Long>,Object>.
指定したタイプの Source が与えられた場合:
Source< Pair<Source<ByteString, BoxedUnit>, Object>, BoxedUnit> pairSource;
ByteString
また、値をInputStream<Long>
次のように変換するフローも提供されます。
Flow<ByteString, InputStream<Long>, ?> byteStrToInputStream;
次に、flatMapConcat を使用してこれを変換できます。
Source< Pair<InputStream<Long>,Object>, BoxedUnit> inputStreamSource =
pairSource.flatMapConcat( pair -> {
pair.getKey()
.via(byteStrToInputStream)
.map(inputStream -> ImmutablePair(inputStream, pair.getValue()))
})
受信した ByteStrings の各ソースが使い果たされ、結果が連結されます。各ペアの元の右側、つまりObject
各 InputStream に追加されます。