Plugin Registration and Version CheckingΒΆ

Make sure that the functions in your plugin are supported in your version of Traffic Server.

Use the following interfaces:

The following version of hello-world registers the plugin and ensures it’s running with a compatible version of Traffic Server.

#include <stdio.h>
#include <ts/ts.h>
int
check_ts_version()
{

 const char *ts_version = TSTrafficServerVersionGet();
 int result = 0;

   if (ts_version) {
    int major_ts_version = 0;
    int minor_ts_version = 0;
    int patch_ts_version = 0;

   if (sscanf(ts_version, "%d.%d.%d", &major_ts_version,
      &minor_ts_version, &patch_ts_version) != 3) {
      return 0;
  }

  /* We need at least Traffic Server 2.0 */

   if (major_ts_version >= 2) {
      result = 1;
   }

  }

  return result;
}

void
TSPluginInit (int argc, const char *argv[])
{

      TSPluginRegistrationInfo info;

      info.plugin_name = "hello-world";
      info.vendor_name = "MyCompany";
      info.support_email = "ts-api-support@MyCompany.com";

      if (!TSPluginRegister (TS_SDK_VERSION_2_0 , &info)) {
         TSError ("Plugin registration failed. \n");
      }

      if (!check_ts_version()) {
         TSError ("Plugin requires Traffic Server 2.0 or later\n");
         return;
      }

      TSDebug ("debug-hello", "Hello World!\n");
}