Я играю со скриптами для mysql-прокси.То, что я пытаюсь достичь, не имеет значения.Однако я обнаружил, что некоторые элементы интерфейса lua, по-видимому, недокументированы.У меня есть большой «дымящийся пистолет» - крючок disconnect_client()
.Я не могу найти его где-либо в официальной документации , хотя он используется в примере с объяснением интерфейса администратора .Он также широко используется в примерах документов.Быстрый grep показывает его использование в следующих сценариях, включенных в дистрибутив 5.5.8:
active-query.lua
active-Transactions.lua
load-multi.lua
ro-pooling.lua
rw-splitting.lua
tutorial-keepalive.lua
Мой другой пример, который попался на глаза, - это список атрибутов для записей в таблице proxy.global.backends
.В документации перечислены следующие атрибуты:
dst.name
dst.address
dst.port
connected_clients
state
type
Однако некоторые примеры сценариев ссылаются на довольно сложный элемент, называемый пулом.Возьмем, к примеру, tutorial-keepalive.lua
:
local s = proxy.global.backends[i]
local pool = s.pool
local cur_idle = pool.users[proxy.connection.client.username].cur_idle_connections
Сначала я подумал, что он был добавлен где-то еще в lua, но я посмотрел и не могу найти код, присваивающий proxy.global.backends[i] .pool.
Итак, я полагаю, два вопроса:
- Я чокнутый?Пожалуйста, не стесняйтесь демонстрировать, как я упустил очевидное, и документация действительно довольно ясна.
- Если я прав, есть ли где-нибудь найти полную документацию?Хорошая ссылка была бы отличной (хотя я не смог бы ее найти), но даже «взгляните на этот файл .c из дистрибутива mysql-proxy, который определяет интерфейс».По крайней мере, это дало бы мне что-то, на что тыкал.
Спасибо