simplify random

pull/314/head
Darien Raymond 8 years ago
parent a14795e1e6
commit 1a1383c2ea
No known key found for this signature in database
GPG Key ID: 7251FFA14BB18169

@ -41,15 +41,16 @@ func NewUDPPayloadQueue(option ListenOption) *UDPPayloadQueue {
func (this *UDPPayloadQueue) Enqueue(payload UDPPayload) {
size := len(this.queue)
for i := 0; i < size; i++ {
idx := 0
if size > 1 {
idx = dice.Roll(size)
}
for i := 0; i < size; i++ {
select {
case this.queue[idx] <- payload:
case this.queue[idx%size] <- payload:
return
default:
idx++
}
}
}

Loading…
Cancel
Save