I was requested to provide the API that would go with this fix. Here is the
preliminary version. If any one has suggestions for better names, speak up.
/** Plugin lifecycle hooks.
These are called during lifecycle events of a plugin. They
should be set in the plugin initialization function.
TS_PLUGIN_PROXY_READY_HOOK - called once, after the HTTP proxy
port data structures have been initialized. In particular, SSL
related calls that depend on accept endpoints may be
invoked. After this hook is finished, the proxy port sockets are
opened and connections are accepted.
TS_PLUGIN_CACHE_READY_HOOK - called once, after the cache is
fully initialized and online.
*/
typedef enum
{
TS_PLUGIN_PROXY_READY_HOOK,
TS_PLUGIN_CACHE_READY_HOOK,
TS_PLUGIN_LAST_HOOK
} TSPluginHookID;
/* --------------------------------------------------------------------------
Plugin lifecycle hooks */
tsapi void TSPluginHookAdd(TSPluginHookID id, TSCont contp);