in queue.go [115:148]
func (p *MNSQueue) BatchReceiveMessage(respChan chan BatchMessageReceiveResponse, errChan chan error, numOfMessages int32, waitseconds ...int64) {
if numOfMessages <= 0 {
numOfMessages = DefaultNumOfMessages
}
resource := fmt.Sprintf("queues/%s/%s?numOfMessages=%d", p.name, "messages", numOfMessages)
if waitseconds != nil {
for _, waitsecond := range waitseconds {
if waitsecond <= 0 {
continue
}
resource = fmt.Sprintf("queues/%s/%s?numOfMessages=%d&waitseconds=%d", p.name, "messages", numOfMessages, waitsecond)
p.qpsMonitor.checkQPS()
resp := BatchMessageReceiveResponse{}
_, err := send(p.client, p.decoder, GET, nil, nil, resource, &resp)
if err != nil {
errChan <- err
} else {
respChan <- resp
return
}
}
} else {
p.qpsMonitor.checkQPS()
resp := BatchMessageReceiveResponse{}
_, err := send(p.client, p.decoder, GET, nil, nil, resource, &resp)
if err != nil {
errChan <- err
} else {
respChan <- resp
}
}
return
}