Made config object that's specific to BatcherManager

This commit is contained in:
Xavi Ramirez 2017-08-10 20:11:24 +00:00
parent 3a04dad4bf
commit 45fad863d0
2 changed files with 17 additions and 5 deletions

View file

@ -16,6 +16,12 @@ type tagMsgPair struct {
pair kcl.SequencePair pair kcl.SequencePair
} }
type batcherManagerConfig struct {
BatchCount int
BatchSize int
BatchInterval time.Duration
}
type batcherManager struct { type batcherManager struct {
log kv.KayveeLogger log kv.KayveeLogger
sender Sender sender Sender
@ -32,16 +38,16 @@ type batcherManager struct {
} }
func newBatcherManager( func newBatcherManager(
sender Sender, chkpntManager *checkpointManager, config Config, log kv.KayveeLogger, sender Sender, chkpntManager *checkpointManager, cfg batcherManagerConfig, log kv.KayveeLogger,
) *batcherManager { ) *batcherManager {
bm := &batcherManager{ bm := &batcherManager{
log: log, log: log,
sender: sender, sender: sender,
chkpntManager: chkpntManager, chkpntManager: chkpntManager,
batchCount: config.BatchCount, batchCount: cfg.BatchCount,
batchSize: config.BatchSize, batchSize: cfg.BatchSize,
batchInterval: config.BatchInterval, batchInterval: cfg.BatchInterval,
batchMsg: make(chan tagMsgPair), batchMsg: make(chan tagMsgPair),
lastIgnored: make(chan kcl.SequencePair), lastIgnored: make(chan kcl.SequencePair),

View file

@ -43,8 +43,14 @@ func NewBatchedWriter(config Config, sender Sender, log kv.KayveeLogger) *batche
func (b *batchedWriter) Initialize(shardID string, checkpointer kcl.Checkpointer) error { func (b *batchedWriter) Initialize(shardID string, checkpointer kcl.Checkpointer) error {
b.shardID = shardID b.shardID = shardID
bmConfig := batcherManagerConfig{
BatchCount: b.config.BatchCount,
BatchSize: b.config.BatchSize,
BatchInterval: b.config.BatchInterval,
}
b.chkpntManager = newCheckpointManager(checkpointer, b.config.CheckpointFreq, b.log) b.chkpntManager = newCheckpointManager(checkpointer, b.config.CheckpointFreq, b.log)
b.batcherManager = newBatcherManager(b.sender, b.chkpntManager, b.config, b.log) b.batcherManager = newBatcherManager(b.sender, b.chkpntManager, bmConfig, b.log)
return nil return nil
} }