func (s *Scheme) Init(config jsonstruct.JSONStruct) error { s.messagesPerSecond = config.IntWithDefault(MessagesPerSecond, DefaultMessagesPerSecond) expectedMessagesPerSecond := config.IntWithDefault(ExpectedMessagesPerSecond, DefaultExpectedMessagesPerSecond) s.bytesPerMessage = config.IntWithDefault(BytesPerMessage, DefaultBytesPerMessage) var err error s.reportCycle, err = config.DurationWithDefault(ReportCycle, DefaultReportCycle) if err != nil { return err } if expectedMessagesPerSecond == 0 { expectedMessagesPerSecond = s.messagesPerSecond } s.buffer = make([]byte, s.bytesPerMessage) if s.messagesPerSecond > 0 { s.tickerTime = time.Second / time.Duration(s.messagesPerSecond) } s.done.Add(1) if s.reporter == nil { s.reporter = &ReporterImpl{} } s.reporter.Init(expectedMessagesPerSecond, s.reportCycle) return nil }
func (s *Scheme) Init(config jsonstruct.JSONStruct) error { s.messagesPerRun = config.IntWithDefault(MessagesPerRun, DefaultMessagesPerRun) s.bytesPerMessage = config.IntWithDefault(BytesPerMessage, DefaultBytesPerMessage) s.buffer = make([]byte, s.bytesPerMessage) var err error s.waitForLastMessage, err = config.DurationWithDefault(WaitForLastMessage, DefaultWaitForLastMessage) if err != nil { return err } s.warmupMessagesPerRun = config.IntWithDefault(WarmupMessagesPerRun, DefaultWarmupMessagesPerRun) s.warmupWait, err = config.DurationWithDefault(WarmupWait, DefaultWarmupWait) if err != nil { return err } return nil }