| 426 | } |
| 427 | |
| 428 | type partitionConsumer struct { |
| 429 | highWaterMarkOffset atomic.Int64 // must be at the top of the struct because https://golang.org/pkg/sync/atomic/#pkg-note-BUG |
| 430 | |
| 431 | consumer *consumer |
| 432 | conf *Config |
| 433 | broker *brokerConsumer |
| 434 | brokerSubscription *brokerSubscription |
| 435 | messages chan *ConsumerMessage |
| 436 | errors chan *ConsumerError |
| 437 | feeder chan *partitionConsumerResponse |
| 438 | |
| 439 | leaderEpoch int32 |
| 440 | preferredReadReplica int32 |
| 441 | preferredReadReplicaExpiry time.Time |
| 442 | |
| 443 | trigger, dying chan none |
| 444 | dispatcherStop chan none |
| 445 | closeOnce sync.Once |
| 446 | dispatcherStopOnce sync.Once |
| 447 | topic string |
| 448 | partition int32 |
| 449 | responseResult error |
| 450 | fetchSize int32 |
| 451 | offset int64 |
| 452 | retries atomic.Int32 |
| 453 | |
| 454 | paused atomic.Bool // accessed atomically, 0 = not paused, 1 = paused |
| 455 | } |
| 456 | |
| 457 | var errTimedOut = errors.New("timed out feeding messages to the user") // not user-facing |
| 458 |
nothing calls this directly
no outgoing calls
no test coverage detected