package io
Provides various ways to work with streams that perform IO.
These methods accept a blocking ExecutionContext, as the underlying
implementations perform blocking IO. The recommendation is to use an
unbounded thread pool with application level bounds.
- Alphabetic
- By Inheritance
- io
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
Value Members
-
def
readInputStream[F[_]](fis: F[InputStream], chunkSize: Int, blockingExecutionContext: ExecutionContext, closeAfterUse: Boolean = true)(implicit F: Sync[F], cs: ContextShift[F]): Stream[F, Byte]
Reads all bytes from the specified
InputStreamwith a buffer size ofchunkSize.Reads all bytes from the specified
InputStreamwith a buffer size ofchunkSize. SetcloseAfterUseto false if theInputStreamshould not be closed after use. -
def
stdin[F[_]](bufSize: Int, blockingExecutionContext: ExecutionContext)(implicit F: Sync[F], cs: ContextShift[F]): Stream[F, Byte]
Stream of bytes read asynchronously from standard input.
-
def
stdout[F[_]](blockingExecutionContext: ExecutionContext)(implicit F: Sync[F], cs: ContextShift[F]): Pipe[F, Byte, Unit]
Pipe of bytes that writes emitted values to standard output asynchronously.
-
def
toInputStream[F[_]](implicit F: ConcurrentEffect[F]): Pipe[F, Byte, InputStream]
Pipe that converts a stream of bytes to a stream that will emits a single
java.io.InputStream, that is closed whenever the resulting stream terminates.Pipe that converts a stream of bytes to a stream that will emits a single
java.io.InputStream, that is closed whenever the resulting stream terminates.If the
closeof resulting input stream is invoked manually, then this will await until the original stream completely terminates.Because all
InputStreammethods block (includingclose), the resultingInputStreamshould be consumed on a different thread pool than the one that is backing theConcurrentEffect.Note that the implementation is not thread safe -- only one thread is allowed at any time to operate on the resulting
java.io.InputStream. -
def
unsafeReadInputStream[F[_]](fis: F[InputStream], chunkSize: Int, blockingExecutionContext: ExecutionContext, closeAfterUse: Boolean = true)(implicit F: Sync[F], cs: ContextShift[F]): Stream[F, Byte]
Reads all bytes from the specified
InputStreamwith a buffer size ofchunkSize.Reads all bytes from the specified
InputStreamwith a buffer size ofchunkSize. SetcloseAfterUseto false if theInputStreamshould not be closed after use.Each read operation is performed on the supplied execution context. Reads are blocking so the execution context should be configured appropriately.
Recycles an underlying input buffer for performance. It is safe to call this as long as whatever consumes this
Streamdoes not store theChunkreturned or pipe it to a combinator that does (e.g.buffer). UsereadInputStreamfor a safe version. -
def
writeOutputStream[F[_]](fos: F[OutputStream], blockingExecutionContext: ExecutionContext, closeAfterUse: Boolean = true)(implicit F: Sync[F], cs: ContextShift[F]): Pipe[F, Byte, Unit]
Writes all bytes to the specified
OutputStream.Writes all bytes to the specified
OutputStream. SetcloseAfterUseto false if theOutputStreamshould not be closed after use.Each write operation is performed on the supplied execution context. Writes are blocking so the execution context should be configured appropriately.
- object Watcher