-
Notifications
You must be signed in to change notification settings - Fork 100
/
Acks.scala
49 lines (41 loc) · 1.18 KB
/
Acks.scala
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
/*
* Copyright 2018-2023 OVO Energy Limited
*
* SPDX-License-Identifier: Apache-2.0
*/
package fs2.kafka
/**
* The available options for [[ProducerSettings#withAcks]].<br>
* <br>
* Available options include:<br>
* - [[Acks#Zero]] to not wait for any acknowledgement from the server,<br>
* - [[Acks#One]] to only wait for acknowledgement from the leader node,<br>
* - [[Acks#All]] to wait for acknowledgement from all in-sync replicas.
*/
sealed abstract class Acks
object Acks {
private[kafka] case object ZeroAcks extends Acks {
override def toString: String = "Zero"
}
private[kafka] case object OneAcks extends Acks {
override def toString: String = "One"
}
private[kafka] case object AllAcks extends Acks {
override def toString: String = "All"
}
/**
* Option to not wait for any acknowledgement from the server
* when producing records.
*/
val Zero: Acks = ZeroAcks
/**
* Option to only wait for acknowledgement from the leader node
* when producing records.
*/
val One: Acks = OneAcks
/**
* Option to wait for acknowledgement from all in-sync replicas
* when producing records.
*/
val All: Acks = AllAcks
}