- sequenceNumber := r.counter
- if _, ok := r.register[sequenceNumber]; ok {
- xapp.Logger.Error("Invalid SeqenceNumber sequenceNumber: %v",sequenceNumber)
- return sequenceNumber, false
- }
- r.register[sequenceNumber] = false
+ var subs *Subscription = nil
+ var retrytimes uint16 = 1000
+ for ; subs == nil && retrytimes > 0; retrytimes-- {
+ sequenceNumber := r.subIds[0]
+ r.subIds = r.subIds[1:]
+ if _, ok := r.register[sequenceNumber]; ok == false {
+ subs := &Subscription{
+ registry: r,
+ Seq: sequenceNumber,
+ Active: false,
+ RmrEndpoint: *endPoint,
+ Meid: meid,
+ Trans: nil,
+ }
+ r.register[sequenceNumber] = subs