コード例 #1
0
ファイル: client.go プロジェクト: mike-the-automator/beats
func Signal(signaler outputs.Signaler) ClientOption {
	return func(ctx context) context {
		if ctx.signal == nil {
			ctx.signal = signaler
		} else {
			ctx.signal = outputs.NewCompositeSignaler(ctx.signal, signaler)
		}
		return ctx
	}
}
コード例 #2
0
ファイル: bulk.go プロジェクト: davidsoloman/beats
func (b *bulkWorker) publish() {
	// TODO: remember/merge and forward context options to output worker
	b.output.send(message{
		context: context{
			signal: outputs.NewCompositeSignaler(b.pending...),
		},
		events: b.events,
	})

	b.pending = nil
	b.events = make([]common.MapStr, 0, b.maxBatchSize)
}
コード例 #3
0
ファイル: bulk.go プロジェクト: jarpy/beats
func (b *bulkWorker) publish() {
	// TODO: remember/merge and forward context options to output worker
	b.output.send(message{
		context: Context{
			publishOptions: publishOptions{Guaranteed: b.guaranteed},
			Signal:         outputs.NewCompositeSignaler(b.pending...),
		},
		event:  nil,
		events: b.events,
	})

	b.ws.AddEvent(-len(b.events))
	b.pending = nil
	b.guaranteed = false
	b.events = make([]common.MapStr, 0, b.maxBatchSize)
}