Provided by: trafficserver-dev_8.1.1+ds-1.1_amd64 bug

NAME

       TSContSchedule - TSContSchedule API function

SYNOPSIS

       #include <ts/ts.h>

       TSAction TSContSchedule(TSCont contp, ink_hrtime delay, TSThreadPool tp)

DESCRIPTION

       Schedules  contp  to  run delay milliseconds in the future. This is approximate. The delay
       will be at least delay but possibly more. Resolutions finer than  roughly  5  milliseconds
       will  not  be  effective.  contp  is  required  to  have  a  mutex,  which  is provided to
       TSContCreate().

       The return value can be used to cancel the scheduled event via TSActionCancel().  This  is
       effective until the continuation contp is being dispatched. However, if it is scheduled on
       another thread this can problematic to be correctly timed. The return value can be checked
       with TSActionDone() to see if the continuation ran before the return, which is possible if
       delay is 0.

       The continuation is scheduled for a particular thread selected from  a  group  of  similar
       threads, as indicated by tp.

                      ┌───────────────────────┬──────────────────────────────────┐
                      │Pool                   │ Properties                       │
                      ├───────────────────────┼──────────────────────────────────┤
                      │TS_THREAD_POOL_DEFAULT │ Use     the     default    pool. │
                      │                       │ Continuations  using  this  must │
                      │                       │ not block.                       │
                      ├───────────────────────┼──────────────────────────────────┤
                      │TS_THREAD_POOL_NET     │ Transaction  processing threads. │
                      │                       │ Continuations on  these  threads │
                      │                       │ must not block.                  │
                      ├───────────────────────┼──────────────────────────────────┤
                      │TS_THREAD_POOL_TASK    │ Background              threads. │
                      │                       │ Continuations    can     perform │
                      │                       │ blocking operations.             │
                      ├───────────────────────┼──────────────────────────────────┤
                      │TS_THREAD_POOL_SSLDEPRECATED - these are no longer │
                      │                       │ used as of ATS 6.                │
                      ├───────────────────────┼──────────────────────────────────┤
                      │TS_THREAD_POOL_DNS     │ DNS request processing. May  not │
                      │                       │ exist        depending        on │
                      │                       │ configuration. Not recommended.  │
                      ├───────────────────────┼──────────────────────────────────┤
                      │TS_THREAD_POOL_REMAPDEPRECATED  -  these   are   not │
                      │                       │ longer used.                     │
                      ├───────────────────────┼──────────────────────────────────┤
                      │TS_THREAD_POOL_CLUSTERDEPRECATED - these are no longer │
                      │                       │ used as of ATS 7.                │
                      ├───────────────────────┼──────────────────────────────────┤
                      │TS_THREAD_POOL_UDPDEPRECATED                       │
                      └───────────────────────┴──────────────────────────────────┘

       In practice, any choice except TS_THREAD_POOL_NET or  TS_THREAD_POOL_TASK  is  strong  not
       recommended.  The  TS_THREAD_POOL_NET threads are the same threads on which callback hooks
       are called and continuations that use them have the same restrictions. TS_THREAD_POOL_TASK
       threads  are threads that exist to perform long or blocking actions, although sufficiently
       long operation can impact system  performance  by  blocking  other  continuations  on  the
       threads.

COPYRIGHT

       2021, dev@trafficserver.apache.org