Package

fm

lazyseq

Permalink

package lazyseq

Visibility
  1. Public
  2. All

Type Members

  1. final class BufferedGroupedLazySeq[+A] extends LazySeq[IndexedSeq[A]]

    Permalink

    Similar to GroupedLazySeq but allows you to specify a max time to wait before processing the current batch

  2. trait BufferedLazySeq[+A] extends LazySeq[A] with Closeable

    Permalink
  3. trait BufferedLazySeqIterator[+A] extends LazySeqIterator[A]

    Permalink
  4. trait IteratorLazySeq[A] extends LazySeq[A]

    Permalink

    LazySeq Implementation using the Iterator interface (hasNext/next) instead of Traversable's (foreach)

  5. final class JavaIterableLazySeq[A] extends LazySeq[A]

    Permalink

    LazySeq Implementation using the Java Iterable interface

  6. final class JavaIteratorLazySeq[A] extends LazySeq[A]

    Permalink

    LazySeq Implementation using the Java Iterator interface

  7. trait LazySeq[+A] extends TraversableOnce[A] with FilterMonadic[A, LazySeq[A]]

    Permalink

    A Non-Strict Traversable meant to be used for reading resources (Files, InputStreams, etc...) that might not fit into memory and may or may not be re-readable.

  8. final class LazySeqBuilder[A] extends Builder[A, LazySeq[A]] with Closeable with Logging

    Permalink

    A LazySeq producer/consumer pair that uses a BlockingQueue

    A LazySeq producer/consumer pair that uses a BlockingQueue

    I think this is Thread-Safe

    2021-02-19 - This was updated to allow passing in an arbitrary BlockingQueue implementation (e.g. an LMDBBlockingDeque for using an off-heap disk-backed queue). I removed the END_OF_QUEUE marker so that the BlockingQueue could be typed as a BlockingQueue[A] instead of an BlockingQueue[AnyRef] to make serialization in LMDBBlockingDeque work better.

    It looks like there is a lot of cleanup potential in this class. After some original threading problems around handling exceptions in the Producer and Consumer threads it looks like I went a little overboard on error handling. There is probably room for a lot of simplification.

  9. trait LazySeqIterator[+A] extends BufferedIterator[A] with Closeable

    Permalink
  10. trait ResourceLazySeq[A, R] extends LazySeq[A]

    Permalink

    Helper class that takes a Resource and handles using the resource

  11. final case class SerializerReader[A](resource: Resource[DataInput], serializer: Serializer[A]) extends LazySeq[A] with Logging with Product with Serializable

    Permalink
  12. final class SortedLazySeqBuilder[V, K] extends Builder[V, LazySeq[V]] with Logging

    Permalink

    Keeps an in-memory buffer gets sorted once a size threshold is passed and written to a temp file.

    Keeps an in-memory buffer gets sorted once a size threshold is passed and written to a temp file. This is repeated until result() is called. Data is then read back from the temp files in sorted order.

    This should be thread-safe

  13. final class TmpFileLazySeq[A] extends LazySeq[A]

    Permalink
  14. final class TmpFileLazySeqBuilder[A] extends Builder[A, LazySeq[A]]

    Permalink

    A builder that lets us build up a temp file that can be read back as a LazySeq.

    A builder that lets us build up a temp file that can be read back as a LazySeq. Useful for methods like groupBy, grouped, partition, etc...

    Methods are synchronized so this should be thread-safe now

Value Members

  1. object BufferedLazySeq

    Permalink
  2. object Implicits

    Permalink
  3. object LazySeq

    Permalink
  4. object LazySeqBuilder

    Permalink
  5. object SerializerReader extends Serializable

    Permalink
  6. object SortedLazySeqBuilder

    Permalink

Ungrouped