options

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 28, 2025 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultBroker      = "localhost:9092"
	DefaultNetwork     = "tcp"
	DefaultGroupID     = ""
	DefaultTopicPrefix = "asynk"
	DefaultPool        = "default"
	DefaultLogLevel    = "INFO"

	DefaultMaxWait         = time.Millisecond * 50
	DefaultCommitInterval  = time.Millisecond * 100
	DefaultMinBytes        = 10e3
	DefaultMaxBytes        = 10e3
	DefaultConnectTimeout  = time.Second * 30
	DefaultShutdownTimeout = time.Second * 30
	DefaultBatchSize       = 16
	DefaultBatchBytes      = 1e5 // 100KB
	DefaultBatchTimeout    = time.Millisecond * 50
	DefaultAsync           = false
)
View Source
const (
	DefaultNumPartitions     = -1
	DefaultReplicationFactor = -1
	DefaultRetentionTime     = 86400000
	DefaultRetentionBytes    = 173741824
)

Variables

This section is empty.

Functions

This section is empty.

Types

type ClientOption

type ClientOption func(*ClientOptions) error

func WithAsync

func WithAsync(async bool) ClientOption

func WithBatchBytes

func WithBatchBytes(batchBytes string) ClientOption

func WithBatchSize

func WithBatchSize(size int) ClientOption

func WithBatchTimeout

func WithBatchTimeout(timeout time.Duration) ClientOption

func WithBrokers

func WithBrokers(brokers ...string) ClientOption

func WithCommitInterval

func WithCommitInterval(interval time.Duration) ClientOption

func WithConnectTimeout

func WithConnectTimeout(timeout time.Duration) ClientOption

func WithGroupID

func WithGroupID(groupID string) ClientOption

func WithLogLevel

func WithLogLevel(logLevel string) ClientOption

func WithLogger

func WithLogger(logger *log.LogBase) ClientOption

func WithMaxBytes

func WithMaxBytes(maxBytes string) ClientOption

func WithMaxWait

func WithMaxWait(wait time.Duration) ClientOption

func WithMinBytes

func WithMinBytes(minBytes string) ClientOption

func WithNetwork

func WithNetwork(network string) ClientOption

func WithPool

func WithPool(pool string) ClientOption

func WithPreset

func WithPreset(preset ClientOptionPreset) ClientOption

func WithShutdownTimeout

func WithShutdownTimeout(timeout time.Duration) ClientOption

func WithTopicPrefix

func WithTopicPrefix(topicPrefix string) ClientOption

type ClientOptionPreset

type ClientOptionPreset string
const (
	// Optimized for immediate processing
	PresetLowLatency ClientOptionPreset = "low-latency"
	// Optimized for processing large volumes
	PresetHighThroughput ClientOptionPreset = "high-throughput"
	// Optimized for guaranteed delivery
	PresetReliable ClientOptionPreset = "reliable"
	// Default balanced configuration
	PresetBalanced ClientOptionPreset = "balanced"
)

type ClientOptions

type ClientOptions struct {
	Logger          *log.LogBase  `json:"-"`
	Brokers         []string      `json:"brokers,omitempty"`
	Network         string        `json:"network,omitempty"`
	GroupID         string        `json:"group_id,omitempty"`
	TopicPrefix     string        `json:"topic_prefix,omitempty"`
	Pool            string        `json:"pool,omitempty"`
	LogLevel        string        `json:"log_level,omitempty"`
	MaxWait         time.Duration `json:"max_wait,omitempty"`
	CommitInterval  time.Duration `json:"commit_interval,omitempty"`
	MinBytes        int64         `json:"min_bytes,omitempty"`
	MaxBytes        int64         `json:"max_bytes,omitempty"`
	ConnectTimeout  time.Duration `json:"connect_timeout,omitempty"`
	ShutdownTimeout time.Duration `json:"shutdown_timeout,omitempty"`
	BatchSize       int           `json:"batch_size,omitempty"`
	BatchBytes      int64         `json:"batch_bytes,omitempty"`
	BatchTimeout    time.Duration `json:"batch_timeout,omitempty"`
	Async           bool          `json:"async,omitempty"`
}

func DefaultClientOptions

func DefaultClientOptions() ClientOptions

type TopicOption

type TopicOption func(*TopicOptions) error

func WithNumPartitions

func WithNumPartitions(numPartitions int) TopicOption

func WithReplicationFactor

func WithReplicationFactor(replicationFactor int) TopicOption

func WithRetentionBytes

func WithRetentionBytes(retentionBytes string) TopicOption

func WithRetentionTime

func WithRetentionTime(retentionTime time.Duration) TopicOption

type TopicOptions

type TopicOptions struct {
	NumPartitions     int           `json:"num_partitions,omitempty"`
	ReplicationFactor int           `json:"replication_factor,omitempty"`
	RetentionTime     time.Duration `json:"retention_time,omitempty"`
	RetentionBytes    int64         `json:"retention_bytes,omitempty"`
}

func DefaultTopicOptions

func DefaultTopicOptions() TopicOptions

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL
JackTT - Gopher 🇻🇳