MCPcopy Index your code
hub / github.com/NdoleStudio/httpsms / getSendDelay

Method getSendDelay

api/pkg/services/message_service.go:579–597  ·  view source on GitHub ↗
(ctxLogger telemetry.Logger, eventPayload events.MessageAPISentPayload, params MessageSendParams, messagesPerMinute uint)

Source from the content-addressed store, hash-verified

577}
578
579func (service *MessageService) getSendDelay(ctxLogger telemetry.Logger, eventPayload events.MessageAPISentPayload, params MessageSendParams, messagesPerMinute uint) time.Duration {
580 if params.SendAt != nil {
581 delay := params.SendAt.Sub(time.Now().UTC())
582 if delay < 0 {
583 ctxLogger.Info(fmt.Sprintf("message [%s] has send time [%s] in the past. sending immediately", eventPayload.MessageID, params.SendAt.String()))
584 return time.Duration(0)
585 }
586 return delay
587 }
588
589 if params.Index > 0 && messagesPerMinute > 0 {
590 interval := time.Minute / time.Duration(messagesPerMinute)
591 delay := time.Duration(params.Index) * interval
592 ctxLogger.Info(fmt.Sprintf("message [%s] bulk index [%d] rate-based delay [%s]", eventPayload.MessageID, params.Index, delay))
593 return delay
594 }
595
596 return time.Duration(0)
597}
598
599// StoreReceivedMessage a new message
600func (service *MessageService) storeReceivedMessage(ctx context.Context, params events.MessagePhoneReceivedPayload) (*entities.Message, error) {

Calls 2

InfoMethod · 0.65
StringMethod · 0.45