Формат сетевых пакетов.
Медленно и печально продолжаю пилить собственную реализацию сетевого клиента к Firebird.
На днях реализовал выполнение запросов с IN-параметрами. Чертыхнулся, но сумел реализовать отправку пакета (op_execute) опираясь только на собственные данные пакета. В оригинале (fbclient.dll) при отправке этого пакета внезапно начинают лезть к объекту запроса. :facepalm: да и только.
Начал реализацию поддержки запросов с OUT-параметрами… Пока только начал. Но уже появилась мысль:
«Если меня вдруг угораздит проектировать подобные конструкции для обмена данными, то пакет будет включать информацию о своем размере. А еще лучше — размер будет находиться в самом начале пакета.»
Потому что глубинный смысл идеи «мы вот сейчас начнем отправлять пакет в порт подключения, а принимающая сторона сама должна определить момент когда он закончился» ускользает от меня. И в результате хочется ругаться.