Failure to do so was causing a crash because port widget was trying to
disconnect signal from a non-existent port (corresponding to the current
index that was not reset) after the portgroup reconnected or another
portgroup came up and a port was selected in the port list.
This bug was a regression caused by the refactoring changes when
portwidget (and streamswidget) was extracted from portswindow.
Adding a parameter with a default value to the existing on_XXX slot
in a previous commit makes auto connect signal-slots by name to flag
signal not found.
So rename the slot name and add an explicit connection.
This is because the Ostinato packaging reccomendation is to use
ostinato-agent and ostinato-controller package names. The ostinato
package is a meta package containing the aforementioned sub-packages
If a packet does not have a sign/guid, use an invalid guid instead of 0
as the default, so that these packets get tracked against the invalid
guid which can be excluded while updating the port's stream stats.
* No ugly #ifdef TURBO
* Turbo ports need to be specified explicitly in drone.ini
* If a port is not a turbo port, fall back to LinuxPort
* Turbo ports set their description as 'Turbo' which shows up in GUI
* Some XdpPort creation/destruction error checks
Port Pkt stats are no longer shown by default. To see them and byte
counters, use context menu option - "Show details" (renamed from the
existing "Show Byte counters")
At the moment, the Tx duration for a GUID is taken to be the largest of
all tx duration for that GUID across all ports. In the future, we may
consider changing it to average instead of largest.
The crash seems to happen in the following scenario -
* Ostinato and drone are both running (with some devices/streams)
* Kill and restart drone
* Wait for GUI to reconnect to drone
* Click on one of the ports in the port list
* frameFieldCount() always includes all frame fields whether or not
included in packet
* if an optional field is not included in packet
- FieldName is still returned
- FieldTextValue is returned as "<not-included>"
- FieldBitWidth is 0
- all remaining attributes are QVariant()