Server - Enhancements - Added code to the server and the PakBus router class that will allow us to track operation reports for PakBus operations such as the hello, send neighbors, get neighbors, echo (ping), and client sponsored PakBus transactions such as those used by PakBus Graph and the settings editor applications.
Server - Enhancements - Extended the time that the PakBus/TCP Server will wait on a new connection before hanging it up from five seconds to forty seconds. Also added code so that this device will broadcast a hello request on new connections if no activity has occurred within five seconds of the initial connection.
Server - Enhancements - Added support for the comma-separated no-header format option for the data broker formatted data advise transaction.
Server - Enhancements - Added a transaction log message that gets posted each time that the next time to poll gets calculated.
Server - Bug Fixes - Fixed a bug in the code that forms static PakBus routes where, if an RF-PB device type (which acts as both an RF-TD remote as well as a PakBusPort) is defined as a child (directly or otherwise) to another RF-PB device type, the parent RF-PB could wind up picking up the static route to any stations attached to the child RF-PB
Server - Bug Fixes - Added code for the BMP1 table poll operation that will prevent the server from sending a hole collection command to the datalogger that is larger than the logger can handle. (This was already being done for the hole collection operation but was not for the table polling version.)
Server - Bug Fixes - Fixed a bug that could crash the server when multiple set value commands were queued for a mixed-array datalogger while the datalogger was in an off-line state. This could set up the conditions where an infinite recursion took place until the program stack was exhausted and the server crashed.
Server - Bug Fixes - Modified the code in the cache manager thread that adds records for a table so that older records will be eliminated if a set of records is larger than the size of the cache table. Failure to do this could result in inconsistent information for table blocks because too few records were "released".
Server - Bug Fixes - Fixed a bug that could crash the server if it was trying to open the link on a TCP serial port and the address look-up failed for the specified address.
Server - Bug Fixes - Fixed a bug in the Linux build where memory could leak each time that a thread was ended. This was happening because the is_started flag was being cleared by the thread entry point. Because of this, the pthread_join() function was never called and the process wound up accumulating memory as threads were started and stopped.
Server - Bug Fixes - Fixed a bug where, if an exception was thrown when an incoming TCP messaging connection was handled, that exception would wind up crashing the LoggerNet server.
Server - Bug Fixes - Added code to handle the case when a communication error is reported by another operation in order to ensure that the logger lock was released.
Server - Bug Fixes - Added code to ensure that any reports associated with a device are removed when that device gets shut down. Failure to do this could lead to a crash if the device was deleted after being shut down
Server - Bug Fixes - Fixed a bug where, if the callbackTcpPort or the comPortId settings were changed for the TCP serial port device type while it was waiting for a call-back connection, the server would not force the link off-line in order to apply the new setting values.
Server - Bug Fixes - Added code to ensure that the notification of whether communication is enabled is not sent to the devices unless the communication enabled condition has really changed. This addresses a bug where BMP5 data collection could get stuck if a client set the commEnabled setting (either the device or LgrNet setting) to true when it was already true.
Server - Bug Fixes - Fixed a bug in the shut down code where the device was removed from the network map structure before its shutdown() method was called. On some networks, this could lead the server to throw an unhandled exception when it was being shut down.
Server - Bug Fixes - Concentrated the work of authenticating a TCP link in the TCP port provider class rather than allowing the PakBus port object do this. The primary reason for this change is that authentication failed when a connection was being made via call-back. Authentication on a new TCP link will now take place if the tcp-password setting is not empty for the root device object or if it is set for any of that device's children.