UniSet  1.4.0
Список задач
Страница (DBServer_MySQL) Реализация сервиса ведения БД на основе MySQL
Может не сохранять текст, если задан код... (для экономии в БД)
Класс CardList

(IOControl): Сделать обработку сигналов завершения

(IOControl): Сделать обработку сигналов завершения

Класс IONotifyController
Сделать логирование выходов
Член ModbusClient::recv (ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusByte qfunc, ModbusRTU::ModbusMessage &rbuf, timeout_t timeout)
Подумать Может стоит всё-таки получать весь пакет, а проверять кому он адресован на уровне выше?! Lav: конечно стоит, нам же надо буфер чистить
Член ModbusRTU::ForceCoilsRetMessage::init (ModbusMessage &m)

(WriteOutputRetMessage): необходимо встроить проверку на корректность данных

(WriteOutputRetMessage): необходимо встроить проверку на корректность данных

Член ModbusRTU::ForceSingleCoilRetMessage::init (ModbusMessage &m)

(ForceSingleCoilRetMessage): необходимо встроить проверку на корректность данных

(ForceSingleCoilRetMessage): необходимо встроить проверку на корректность данных

Класс ModbusRTU::ModbusMessage
Может переименовать ModbusMessage в TransportMessage?
Член ModbusRTU::WriteOutputRetMessage::init (ModbusMessage &m)

(WriteOutputRetMessage): необходимо встроить проверку на корректность данных

(WriteOutputRetMessage): необходимо встроить проверку на корректность данных

Член ModbusRTU::WriteSingleOutputRetMessage::init (ModbusMessage &m)

(WriteSingleOutputRetMessage): необходимо встроить проверку на корректность данных

(WriteSingleOutputRetMessage): необходимо встроить проверку на корректность данных

Класс ModbusRTUMaster
Добавить ведение статистики по ошибкам
Класс ModbusRTUSlave

Разобратся с тем как отвечать на неправильные запросы! Формат ответных сообщений!!! Коды ошибок!!!

Доработать terminate, чтобы можно было прервать ожидание

Член ModbusServer::recv (ModbusRTU::ModbusAddr addr, ModbusRTU::ModbusMessage &buf, timeout_t timeout)
Подумать Может стоит всё-таки получать весь пакет, а проверять кому он адресован на уровне выше?! Lav: конечно стоит, нам же надо буфер чистить
Класс ObjectRepository
получение списка начиная с элемента номер N.
Класс ObjectsActivator
Разобраться со всякими oaDestroy, stop, oakill и сделать одну надежную завершающую функцию.
Член ObjectsActivator::work ()
сделать возможность заказа других сигналов
Член ObjectsManager_i::getObjectsInfo (in long MaxLength)
Подумать насчет применения итератора, при слишком большом( >1000 ) количестве подчиненных объектов...
Член TimerService::work ()
потом можно написать самому более оптимальное решение т.к. список и так отсортирован, нужно всего лишь перемещать элемент в нужное место (у кого больше curTimeMS). Лучше поискать что-нибудь в stl...
Член UniSetTypes::Configuration::initConfiguration (int argc, const char *const *argv)
Надо избавляться от глобального conf (!)
Класс UniSetTypes::IORFile
Для оптимизации можно сделать кэширование id:node > filename
Класс UniSetTypes::ObjectIndex_Array
Проверить функции этого класса на повторную входимость
Класс UniSetTypes::ObjectIndex_XML
Проверить функции этого класса на повторную входимость
Класс UniSetTypes::uniset_mutex
Проверить правильность конструкторов копирования и operator=
Класс UniSetTypes::uniset_mutex_lock
Может на откуп пользователям оставить проверку занятости ресурса перед захватом? может не ждать?
Класс UniversalInterface::CacheOfResolve
Убедится в уникальности возвращаемого результата hash(...)
Член UniXML::copyNode (xmlNode *node, int recursive=1)
"Нужно тест написать на copyNode"