VOL-2850 Reworked RequestQueue so it no longer requires a separate thread.
Also removed start()/stop() functions, which are no longer needed.
Also changed to an unbounded queue (dequeue implementation).
Change-Id: I891dcf68b64c3a08088b6d10fa30dadb8eb6f28d
diff --git a/rw_core/core/logical_device_agent.go b/rw_core/core/logical_device_agent.go
index 9dc873b..4208e32 100644
--- a/rw_core/core/logical_device_agent.go
+++ b/rw_core/core/logical_device_agent.go
@@ -39,10 +39,6 @@
"google.golang.org/grpc/status"
)
-const (
- maxOrderedLogicalDeviceRequestQueueSize = 1000
-)
-
// LogicalDeviceAgent represent attributes of logical device agent
type LogicalDeviceAgent struct {
logicalDeviceID string
@@ -83,7 +79,7 @@
agent.portProxies = make(map[string]*model.Proxy)
agent.logicalPortsNo = make(map[uint32]bool)
agent.defaultTimeout = timeout
- agent.requestQueue = coreutils.NewRequestQueue(agent.serialNumber, maxOrderedLogicalDeviceRequestQueueSize)
+ agent.requestQueue = coreutils.NewRequestQueue()
return &agent
}
@@ -105,9 +101,6 @@
}
}()
- // Launch the request queue - it will launch a go routine
- agent.requestQueue.Start()
-
var ld *voltha.LogicalDevice
if !loadFromDB {
//Build the logical device based on information retrieved from the device adapter
@@ -246,9 +239,6 @@
logger.Debugw("logicaldevice-removed", log.Fields{"logicaldeviceId": agent.logicalDeviceID})
}
- // Stop the request queue and request complete indication
- agent.requestQueue.Stop()
-
close(agent.exitChannel)
logger.Info("logical_device-agent-stopped")