- Companion:
- object
Value members
Concrete methods
Sequently concat two streams
Sequently concat two streams
Stream(1,2,3) ++ Stream(4,5,6)
// 1,2,3,4,5,6
Merges underlying streams to one line.
Merges underlying streams to one line.
Stream.eval(1, 2, 3) flatMapConcat { x =>
Stream.eval(x + "a", x + "b", x + "c")
}
// 1a,1b,1c,2a,2b,2c,3a,3b,3c
Merges underlying streams concurrently.
Merges underlying streams concurrently.
- Value parameters:
- concurrency
number of concurrent underlying streams
Stream.eval(1, 2, 3) flatMapMerge(3) { x => Stream.eval(x + "a", x + "b", x + "c") } // 1a,2a,3a,1b,2b,3b,1c,2c,3c
React on values of the stream keeping it the same. Useful when you want to track progress of downloading.
React on values of the stream keeping it the same. Useful when you want to track progress of downloading.
file
.over(0L) {
case (acc, chunk) =>
val loaded = chunk.fold(acc)(_.length.toLong + acc)
showProgress(loaded, file.bytesLength)
}
.to(s3bucket("my-large-file"))
Sort elements of the stream between "racks".
Sort elements of the stream between "racks".
val List(girls, boys, queers) = persons.sort(3) {
case person if person.isFemale => 0
case person if person.isMale => 1
case person => 2
}
- Value parameters:
- f
Takes element of the stream return number of rack.
- numRacks
Number of racks.
- Returns:
List of streams appropriate to racks.