Madan Jampani

Fix perf regression by reverting https://gerrit.onosproject.org/#/c/3801/

Change-Id: Ia6930f53f1f7258a711b10ee648bc9024788117e
...@@ -19,16 +19,13 @@ import org.onosproject.core.IdBlock; ...@@ -19,16 +19,13 @@ import org.onosproject.core.IdBlock;
19 import org.onosproject.core.IdGenerator; 19 import org.onosproject.core.IdGenerator;
20 import org.onosproject.core.UnavailableIdException; 20 import org.onosproject.core.UnavailableIdException;
21 21
22 -import com.google.common.base.Supplier;
23 -import com.google.common.base.Suppliers;
24 -
25 /** 22 /**
26 * Base class of {@link IdGenerator} implementations which use {@link IdBlockAllocator} as 23 * Base class of {@link IdGenerator} implementations which use {@link IdBlockAllocator} as
27 * backend. 24 * backend.
28 */ 25 */
29 public class BlockAllocatorBasedIdGenerator implements IdGenerator { 26 public class BlockAllocatorBasedIdGenerator implements IdGenerator {
30 protected final IdBlockAllocator allocator; 27 protected final IdBlockAllocator allocator;
31 - protected Supplier<IdBlock> idBlock; 28 + protected IdBlock idBlock;
32 29
33 /** 30 /**
34 * Constructs an ID generator which use {@link IdBlockAllocator} as backend. 31 * Constructs an ID generator which use {@link IdBlockAllocator} as backend.
...@@ -37,17 +34,17 @@ public class BlockAllocatorBasedIdGenerator implements IdGenerator { ...@@ -37,17 +34,17 @@ public class BlockAllocatorBasedIdGenerator implements IdGenerator {
37 */ 34 */
38 protected BlockAllocatorBasedIdGenerator(IdBlockAllocator allocator) { 35 protected BlockAllocatorBasedIdGenerator(IdBlockAllocator allocator) {
39 this.allocator = allocator; 36 this.allocator = allocator;
40 - this.idBlock = Suppliers.memoize(allocator::allocateUniqueIdBlock); 37 + this.idBlock = allocator.allocateUniqueIdBlock();
41 } 38 }
42 39
43 @Override 40 @Override
44 public long getNewId() { 41 public long getNewId() {
45 try { 42 try {
46 - return idBlock.get().getNextId(); 43 + return idBlock.getNextId();
47 } catch (UnavailableIdException e) { 44 } catch (UnavailableIdException e) {
48 synchronized (allocator) { 45 synchronized (allocator) {
49 - idBlock = Suppliers.memoize(allocator::allocateUniqueIdBlock); 46 + idBlock = allocator.allocateUniqueIdBlock();
50 - return idBlock.get().getNextId(); 47 + return idBlock.getNextId();
51 } 48 }
52 } 49 }
53 } 50 }
......