ngl_server 1.0
基于 Actor 模型的 C++ 服务器框架
ngl::make_timerparm Class Reference

定时器参数构建工具类。 More...

#include <ntimer.h>

Static Public Member Functions

static time_t month_ms (time_t anow, int amonthday, int ahour, int amin, int asec)
 计算从当前时间到指定月日时分秒的毫秒数。
static bool parm_month (np_timerparm &aparm, int amonthday, int ahour, int amin, int asec, int acount=0x7fffffff)
 构建一个每月定时器,在请求的每月第几天的指定挂钟时间触发。
static bool parm_week (np_timerparm &aparm, int aweek, int ahour, int amin, int asec, int acount=0x7fffffff)
 构建一个每周定时器,在请求的星期几的指定挂钟时间触发。
static bool parm_day (np_timerparm &aparm, int ahour, int amin, int asec, int acount=0x7fffffff)
 构建一个每日定时器,在请求的时/分/秒重复触发。
static bool parm_hour (np_timerparm &aparm, int amin, int asec, int acount=0x7fffffff)
 构建一个每小时定时器,在每小时的分/秒触发一次。
static bool parm_min (np_timerparm &aparm, int asec, int acount=0x7fffffff)
 构建一个每分钟定时器,在每分钟的第asec秒触发一次。
static bool make_interval (np_timerparm &aparm, int asec, int acount=0x7fffffff)
 构建一个以秒为单位的固定间隔定时器。

Detailed Description

定时器参数构建工具类。

提供一系列静态工厂方法,用于创建不同时间粒度的定时器参数。 所有方法都执行输入验证,并返回 np_timerparm 结构体。

支持的定时器类型:

  • 月度定时器(ET_MONTH)
  • 周度定时器(ET_WEEK)
  • 每日定时器(ET_DAY)
  • 每小时定时器(ET_HOUR)
  • 每分钟定时器(ET_MIN)
  • 固定间隔定时器(ET_INTERVAL_SEC)

使用示例:

if (make_timerparm::parm_day(parm, 10, 30, 0)) {
ntimer::addtimer(actor, std::make_shared<np_timerparm>(parm));
}

Member Function Documentation

◆ make_interval()

bool ngl::make_timerparm::make_interval ( np_timerparm & aparm,
int asec,
int acount = 0x7fffffff )
inlinestatic

构建一个以秒为单位的固定间隔定时器。

Parameters
aparm输出参数,填充定时器参数
asec间隔秒数
acount触发次数限制,默认为最大值(无限次)
Returns
成功返回true,参数无效返回false

◆ month_ms()

time_t ngl::make_timerparm::month_ms ( time_t anow,
int amonthday,
int ahour,
int amin,
int asec )
inlinestatic

计算从当前时间到指定月日时分秒的毫秒数。

Parameters
anow当前时间戳(秒)
amonthday月中的天(1-31)
ahour小时(0-23)
amin分钟(0-59)
asec秒(0-59)
Returns
距离目标时间的毫秒数,如果目标时间已过则返回-1

◆ parm_day()

bool ngl::make_timerparm::parm_day ( np_timerparm & aparm,
int ahour,
int amin,
int asec,
int acount = 0x7fffffff )
inlinestatic

构建一个每日定时器,在请求的时/分/秒重复触发。

Parameters
aparm输出参数,填充定时器参数
ahour小时(0-23)
amin分钟(0-59)
asec秒(0-59)
acount触发次数限制,默认为最大值(无限次)
Returns
成功返回true,参数无效返回false

◆ parm_hour()

bool ngl::make_timerparm::parm_hour ( np_timerparm & aparm,
int amin,
int asec,
int acount = 0x7fffffff )
inlinestatic

构建一个每小时定时器,在每小时的分/秒触发一次。

Parameters
aparm输出参数,填充定时器参数
amin分钟(0-59)
asec秒(0-59)
acount触发次数限制,默认为最大值(无限次)
Returns
成功返回true,参数无效返回false

◆ parm_min()

bool ngl::make_timerparm::parm_min ( np_timerparm & aparm,
int asec,
int acount = 0x7fffffff )
inlinestatic

构建一个每分钟定时器,在每分钟的第asec秒触发一次。

Parameters
aparm输出参数,填充定时器参数
asec秒(0-59)
acount触发次数限制,默认为最大值(无限次)
Returns
成功返回true,参数无效返回false

◆ parm_month()

bool ngl::make_timerparm::parm_month ( np_timerparm & aparm,
int amonthday,
int ahour,
int amin,
int asec,
int acount = 0x7fffffff )
inlinestatic

构建一个每月定时器,在请求的每月第几天的指定挂钟时间触发。

Parameters
aparm输出参数,填充定时器参数
amonthday月中的天(1-31)
ahour小时(0-23)
amin分钟(0-59)
asec秒(0-59)
acount触发次数限制,默认为最大值(无限次)
Returns
成功返回true,参数无效返回false

◆ parm_week()

bool ngl::make_timerparm::parm_week ( np_timerparm & aparm,
int aweek,
int ahour,
int amin,
int asec,
int acount = 0x7fffffff )
inlinestatic

构建一个每周定时器,在请求的星期几的指定挂钟时间触发。

Parameters
aparm输出参数,填充定时器参数
aweek星期几(1-7,1=周一,7=周日)
ahour小时(0-23)
amin分钟(0-59)
asec秒(0-59)
acount触发次数限制,默认为最大值(无限次)
Returns
成功返回true,参数无效返回false

The documentation for this class was generated from the following file: