mysql-proxyのスクリプトで遊んでいます。私が達成しようとしていることは無関係です。しかし、私が見つけたのは、文書化されていないluaインターフェースの要素があるように見えるということです。私が持っている大きな「喫煙銃」はdisconnect_client()
フックです。管理インターフェースの説明の例で使用されていますが、公式ドキュメントのどこにも文書化されていません。サンプルドキュメントでも広く使用されています。クイックgrepは、5.5.8ディストリビューションに含まれている次のスクリプトでの使用法を示しています。
active-queries.lua
active-transactions.lua
load-multi.lua
ro-pooling.lua
rw-splitting.luatutorial
-keepalive.lua
私の目を引いた他の例は、proxy.global.backends
テーブル内のエントリの属性のリストです。ドキュメントには、次の属性がリストされています。
dst.name
dst.address
dst.port
connected_clients
state
type
ただし、サンプルスクリプトのいくつかは、poolと呼ばれるかなり複雑な要素を参照しています。たとえば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に割り当てられているコードが見つかりませんでした。
だから、私が思う2つの質問:
- 私はナッツですか?私がどのように明白なものを見落としたか、そしてドキュメントが本当に非常に明確であるかを自由に示してください。
- 私が正しいと仮定すると、完全なドキュメントを見つける場所はありますか?素敵なリンクは素晴らしいでしょう(私はそれをグーグルで検索することはできませんでしたが)が、「インターフェースを定義するmysql-proxyディストリビューションからのこの.cファイルを見てください」。少なくともそれは私に何かを突くようなものを与えるでしょう。
ありがとう