示例#1
0
文件: opts.go 项目: ChongFeng/beats
func Signal(signaler op.Signaler) ClientOption {
	return func(ctx Context) Context {
		if ctx.Signal == nil {
			ctx.Signal = signaler
		} else {
			ctx.Signal = op.CombineSignalers(ctx.Signal, signaler)
		}
		return ctx
	}
}
示例#2
0
文件: bulk.go 项目: YaSuenag/hsbeat
func (b *bulkWorker) publish() {
	b.output.send(message{
		context: Context{
			publishOptions: publishOptions{Guaranteed: b.guaranteed},
			Signal:         op.CombineSignalers(b.pending...),
		},
		data: b.data,
	})

	b.pending = nil
	b.guaranteed = false
	b.data = make([]outputs.Data, 0, b.maxBatchSize)
}
示例#3
0
文件: bulk.go 项目: ChongFeng/beats
func (b *bulkWorker) publish() {
	b.output.send(message{
		context: Context{
			publishOptions: publishOptions{Guaranteed: b.guaranteed},
			Signal:         op.CombineSignalers(b.pending...),
		},
		event:  nil,
		events: b.events,
	})

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