Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BufferConfiguration ¶
type BufferConfiguration struct {
OnFullStrategy *buffer.OnFullStrategy `yaml:"onFullStrategy"`
MaxBufferSize *int `yaml:"maxBufferSize"`
MaxMessageSize *int `yaml:"maxMessageSize"`
CloseCheckInterval *time.Duration `yaml:"closeCheckInterval"`
DropOldestInterval *time.Duration `yaml:"dropOldestInterval"`
ScanBatchSize *int `yaml:"scanBatchSize"`
AllowedSpilloverRatio *float64 `yaml:"allowedSpilloverRatio"`
CleanupRetry *retry.Configuration `yaml:"cleanupRetry"`
}
BufferConfiguration configs the buffer.
func (*BufferConfiguration) NewOptions ¶
func (c *BufferConfiguration) NewOptions(iOpts instrument.Options) buffer.Options
NewOptions creates new buffer options.
type ConnectionConfiguration ¶
type ConnectionConfiguration struct {
NumConnections *int `yaml:"numConnections"`
DialTimeout *time.Duration `yaml:"dialTimeout"`
WriteTimeout *time.Duration `yaml:"writeTimeout"`
KeepAlivePeriod *time.Duration `yaml:"keepAlivePeriod"`
ResetDelay *time.Duration `yaml:"resetDelay"`
Retry *retry.Configuration `yaml:"retry"`
FlushInterval *time.Duration `yaml:"flushInterval"`
WriteBufferSize *int `yaml:"writeBufferSize"`
ReadBufferSize *int `yaml:"readBufferSize"`
// ContextDialer specifies a custom dialer to use when creating TCP connections to the consumer.
// See writer.ConnectionOptions.ContextDialer for details.
ContextDialer writer.ContextDialerFn `yaml:"-"` // not serializable
}
ConnectionConfiguration configs the connection options.
func (*ConnectionConfiguration) NewOptions ¶
func (c *ConnectionConfiguration) NewOptions(iOpts instrument.Options) writer.ConnectionOptions
NewOptions creates connection options.
type ProducerConfiguration ¶
type ProducerConfiguration struct {
Buffer BufferConfiguration `yaml:"buffer"`
Writer WriterConfiguration `yaml:"writer"`
}
ProducerConfiguration configs the producer.
func (*ProducerConfiguration) NewProducer ¶
func (c *ProducerConfiguration) NewProducer( cs client.Client, iOpts instrument.Options, rwOpts xio.Options, ) (producer.Producer, error)
NewProducer creates new producer.
type StaticMessageRetryConfiguration ¶ added in v1.4.2
StaticMessageRetryConfiguration configs the static message retry policy. When messageRetry config exists, messageRetry will override the static config.
type WriterConfiguration ¶
type WriterConfiguration struct {
TopicName string `yaml:"topicName" validate:"nonzero"`
TopicServiceOverride kv.OverrideConfiguration `yaml:"topicServiceOverride"`
TopicWatchInitTimeout *time.Duration `yaml:"topicWatchInitTimeout"`
PlacementOptions placement.Configuration `yaml:"placement"`
PlacementServiceOverride services.OverrideConfiguration `yaml:"placementServiceOverride"`
PlacementWatchInitTimeout *time.Duration `yaml:"placementWatchInitTimeout"`
MessagePool *pool.ObjectPoolConfiguration `yaml:"messagePool"`
MessageQueueNewWritesScanInterval *time.Duration `yaml:"messageQueueNewWritesScanInterval"`
MessageQueueFullScanInterval *time.Duration `yaml:"messageQueueFullScanInterval"`
MessageQueueScanBatchSize *int `yaml:"messageQueueScanBatchSize"`
InitialAckMapSize *int `yaml:"initialAckMapSize"`
CloseCheckInterval *time.Duration `yaml:"closeCheckInterval"`
AckErrorRetry *retry.Configuration `yaml:"ackErrorRetry"`
Encoder *proto.Configuration `yaml:"encoder"`
Decoder *proto.Configuration `yaml:"decoder"`
Connection *ConnectionConfiguration `yaml:"connection"`
// StaticMessageRetry configs a static message retry policy.
StaticMessageRetry *StaticMessageRetryConfiguration `yaml:"staticMessageRetry"`
// MessageRetry configs a algorithmic retry policy.
// Only one of the retry configuration should be used.
MessageRetry *retry.Configuration `yaml:"messageRetry"`
// IgnoreCutoffCutover allows producing writes ignoring cutoff/cutover timestamp.
// Must be in sync with AggregatorConfiguration.WritesIgnoreCutoffCutover.
IgnoreCutoffCutover bool `yaml:"ignoreCutoffCutover"`
// WithoutConsumerScope drops the consumer tag from the metrics. For large m3msg deployments the consumer tag can
// add a lot of cardinality to the metrics.
WithoutConsumerScope bool `yaml:"withoutConsumerScope"`
}
WriterConfiguration configs the writer options.
func (*WriterConfiguration) NewOptions ¶
func (c *WriterConfiguration) NewOptions( cs client.Client, iOpts instrument.Options, rwOptions xio.Options, ) (writer.Options, error)
NewOptions creates writer options.
Click to show internal directories.
Click to hide internal directories.