trait Producer extends AnyRef
- Alphabetic
- By Inheritance
- Producer
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def flush: Task[Unit]
Flushes the producer's internal buffer.
Flushes the producer's internal buffer. This will guarantee that all records currently buffered will be transmitted to the broker.
- abstract def metrics: Task[Map[MetricName, Metric]]
Expose internal producer metrics
- abstract def produce[R, K, V](topic: String, key: K, value: V, keySerializer: Serializer[R, K], valueSerializer: Serializer[R, V]): RIO[R, RecordMetadata]
Produces a single record and await broker acknowledgement.
Produces a single record and await broker acknowledgement. See produceAsync[R,K,V](topic:String* for version that allows to avoid round-trip-time penalty for each record.
- abstract def produce[R, K, V](record: ProducerRecord[K, V], keySerializer: Serializer[R, K], valueSerializer: Serializer[R, V]): RIO[R, RecordMetadata]
Produces a single record and await broker acknowledgement.
Produces a single record and await broker acknowledgement. See produceAsync[R,K,V](record* for version that allows to avoid round-trip-time penalty for each record.
- abstract def produceAsync[R, K, V](topic: String, key: K, value: V, keySerializer: Serializer[R, K], valueSerializer: Serializer[R, V]): RIO[R, Task[RecordMetadata]]
Produces a single record.
Produces a single record. The effect returned from this method has two layers and describes the completion of two actions:
- The outer layer describes the enqueueing of the record to the Producer's internal buffer. 2. The inner layer describes receiving an acknowledgement from the broker for the transmission of the record.
It is usually recommended to not await the inner layer of every individual record, but enqueue a batch of records and await all of their acknowledgements at once. That amortizes the cost of sending requests to Kafka and increases throughput. See produce[R,K,V](topic* for version that awaits broker acknowledgement.
- abstract def produceAsync[R, K, V](record: ProducerRecord[K, V], keySerializer: Serializer[R, K], valueSerializer: Serializer[R, V]): RIO[R, Task[RecordMetadata]]
Produces a single record.
Produces a single record. The effect returned from this method has two layers and describes the completion of two actions:
- The outer layer describes the enqueueing of the record to the Producer's internal buffer. 2. The inner layer describes receiving an acknowledgement from the broker for the transmission of the record.
It is usually recommended to not await the inner layer of every individual record, but enqueue a batch of records and await all of their acknowledgements at once. That amortizes the cost of sending requests to Kafka and increases throughput. See produce[R,K,V](record* for version that awaits broker acknowledgement.
- abstract def produceChunk[R, K, V](records: Chunk[ProducerRecord[K, V]], keySerializer: Serializer[R, K], valueSerializer: Serializer[R, V]): RIO[R, Chunk[RecordMetadata]]
Produces a chunk of records.
Produces a chunk of records. See produceChunkAsync for version that allows to avoid round-trip-time penalty for each chunk.
- abstract def produceChunkAsync[R, K, V](records: Chunk[ProducerRecord[K, V]], keySerializer: Serializer[R, K], valueSerializer: Serializer[R, V]): RIO[R, Task[Chunk[RecordMetadata]]]
Produces a chunk of records.
Produces a chunk of records. The effect returned from this method has two layers and describes the completion of two actions:
- The outer layer describes the enqueueing of all the records to the Producer's internal buffer. 2. The inner layer describes receiving an acknowledgement from the broker for the transmission of the records.
It is possible that for chunks that exceed the producer's internal buffer size, the outer layer will also signal the transmission of part of the chunk. Regardless, awaiting the inner layer guarantees the transmission of the entire chunk.
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- def produceAll[R, K, V](keySerializer: Serializer[R, K], valueSerializer: Serializer[R, V]): ZPipeline[zio.&[R, Producer], Throwable, ProducerRecord[K, V], RecordMetadata]
A stream pipeline that produces all records from the stream.
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])