Class QueuingConfiguration
- java.lang.Object
-
- com.marcnuri.yakc.model.io.k8s.api.flowcontrol.v1alpha1.QueuingConfiguration
-
- All Implemented Interfaces:
com.marcnuri.yakc.model.Model
public class QueuingConfiguration extends java.lang.Object implements com.marcnuri.yakc.model.Model
QueuingConfiguration holds the configuration parameters for queuing
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
QueuingConfiguration.QueuingConfigurationBuilder
-
Constructor Summary
Constructors Constructor Description QueuingConfiguration()
QueuingConfiguration(java.lang.Integer handSize, java.lang.Integer queueLengthLimit, java.lang.Integer queues)
-
Method Summary
Modifier and Type Method Description static QueuingConfiguration.QueuingConfigurationBuilder
builder()
protected boolean
canEqual(java.lang.Object other)
boolean
equals(java.lang.Object o)
java.lang.Integer
getHandSize()
`handSize` is a small positive number that configures the shuffle sharding of requests into queues.java.lang.Integer
getQueueLengthLimit()
`queueLengthLimit` is the maximum number of requests allowed to be waiting in a given queue of this priority level at a time; excess requests are rejected.java.lang.Integer
getQueues()
`queues` is the number of queues for this priority level.int
hashCode()
void
setHandSize(java.lang.Integer handSize)
`handSize` is a small positive number that configures the shuffle sharding of requests into queues.void
setQueueLengthLimit(java.lang.Integer queueLengthLimit)
`queueLengthLimit` is the maximum number of requests allowed to be waiting in a given queue of this priority level at a time; excess requests are rejected.void
setQueues(java.lang.Integer queues)
`queues` is the number of queues for this priority level.QueuingConfiguration.QueuingConfigurationBuilder
toBuilder()
java.lang.String
toString()
-
-
-
Method Detail
-
builder
public static QueuingConfiguration.QueuingConfigurationBuilder builder()
-
toBuilder
public QueuingConfiguration.QueuingConfigurationBuilder toBuilder()
-
getHandSize
public java.lang.Integer getHandSize()
`handSize` is a small positive number that configures the shuffle sharding of requests into queues. When enqueuing a request at this priority level the request's flow identifier (a string pair) is hashed and the hash value is used to shuffle the list of queues and deal a hand of the size specified here. The request is put into one of the shortest queues in that hand. `handSize` must be no larger than `queues`, and should be significantly smaller (so that a few heavy flows do not saturate most of the queues). See the user-facing documentation for more extensive guidance on setting this field. This field has a default value of 8.
-
getQueueLengthLimit
public java.lang.Integer getQueueLengthLimit()
`queueLengthLimit` is the maximum number of requests allowed to be waiting in a given queue of this priority level at a time; excess requests are rejected. This value must be positive. If not specified, it will be defaulted to 50.
-
getQueues
public java.lang.Integer getQueues()
`queues` is the number of queues for this priority level. The queues exist independently at each apiserver. The value must be positive. Setting it to 1 effectively precludes shufflesharding and thus makes the distinguisher method of associated flow schemas irrelevant. This field has a default value of 64.
-
setHandSize
public void setHandSize(java.lang.Integer handSize)
`handSize` is a small positive number that configures the shuffle sharding of requests into queues. When enqueuing a request at this priority level the request's flow identifier (a string pair) is hashed and the hash value is used to shuffle the list of queues and deal a hand of the size specified here. The request is put into one of the shortest queues in that hand. `handSize` must be no larger than `queues`, and should be significantly smaller (so that a few heavy flows do not saturate most of the queues). See the user-facing documentation for more extensive guidance on setting this field. This field has a default value of 8.
-
setQueueLengthLimit
public void setQueueLengthLimit(java.lang.Integer queueLengthLimit)
`queueLengthLimit` is the maximum number of requests allowed to be waiting in a given queue of this priority level at a time; excess requests are rejected. This value must be positive. If not specified, it will be defaulted to 50.
-
setQueues
public void setQueues(java.lang.Integer queues)
`queues` is the number of queues for this priority level. The queues exist independently at each apiserver. The value must be positive. Setting it to 1 effectively precludes shufflesharding and thus makes the distinguisher method of associated flow schemas irrelevant. This field has a default value of 64.
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equals
in classjava.lang.Object
-
canEqual
protected boolean canEqual(java.lang.Object other)
-
hashCode
public int hashCode()
- Overrides:
hashCode
in classjava.lang.Object
-
toString
public java.lang.String toString()
- Overrides:
toString
in classjava.lang.Object
-
-