in queue_manager.go [149:181]
func (p *MNSQueueManager) CreateQueue(queueName string, delaySeconds int32, maxMessageSize int32, messageRetentionPeriod int32, visibilityTimeout int32, pollingWaitSeconds int32, slices int32) (err error) {
queueName = strings.TrimSpace(queueName)
if err = checkQueueName(queueName); err != nil {
return
}
if err = checkAttributes(delaySeconds,
messageRetentionPeriod,
visibilityTimeout,
pollingWaitSeconds); err != nil {
return
}
message := CreateQueueRequest{
DelaySeconds: delaySeconds,
MaxMessageSize: maxMessageSize,
MessageRetentionPeriod: messageRetentionPeriod,
VisibilityTimeout: visibilityTimeout,
PollingWaitSeconds: pollingWaitSeconds,
LoggingEnabled: false,
}
var code int
code, err = send(p.cli, p.decoder, PUT, nil, &message, "queues/"+queueName, nil)
if code == http.StatusNoContent {
err = ERR_MNS_QUEUE_ALREADY_EXIST_AND_HAVE_SAME_ATTR.New(errors.Params{"name": queueName})
return
}
return
}