Documentation ¶
Overview ¶
Package producer defines functions for producing messages.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BasicConcurrentProducer ¶ added in v1.2.0
type BasicConcurrentProducer struct {
// contains filtered or unexported fields
}
func StartBasicConcurrentProducer ¶ added in v1.2.0
func StartBasicConcurrentProducer(globalCtx context.Context, blockingProducer Producer, config BasicConcurrentProducerConfig) *BasicConcurrentProducer
func (*BasicConcurrentProducer) Errors ¶ added in v1.2.0
func (b *BasicConcurrentProducer) Errors() <-chan Error
func (*BasicConcurrentProducer) Job ¶ added in v1.2.0
func (b *BasicConcurrentProducer) Job(globalCtx context.Context, index uint)
func (*BasicConcurrentProducer) Messages ¶ added in v1.2.0
func (b *BasicConcurrentProducer) Messages() chan<- proto.Message
type BasicConcurrentProducerConfig ¶ added in v1.2.0
type BasicConcurrentProducerConfig struct { // JobsNumber should be relatively high, since IPFS communication can sometimes block for extend periods JobsNumber uint `envconfig:"JOBS_NUMBER" default:"20"` ProduceTimeout time.Duration `envconfig:"PRODUCE_TIMEOUT" default:"2m"` ErrBuf uint `envconfig:"ERR_CHAN_BUFF" default:"50"` MessageBuf uint `envconfig:"MESSAGE_BUFF" default:"250"` }
type BlockingProducer ¶ added in v1.2.0
type BlockingProducer struct {
// contains filtered or unexported fields
}
func NewBlockingProducer ¶ added in v1.2.0
func NewBlockingProducer(writer storage.MessageWriter, sentinelClient sentinelpb.SentinelClient) *BlockingProducer
type ConcurrentProducer ¶ added in v1.2.0
ConcurrentProducer can run multiple Produce jobs concurrently. error channel should be sunk, otherwise it would block messages production eventually in order to stop it gracefully, close Messages channel and then sink Errors channel till it's closed
Click to show internal directories.
Click to hide internal directories.