RTIME
A relative time, rendered in decimal format. Units may be in milliseconds, seconds, minutes, hours, or days. These are specified by a suffix of ms
, s
, m
, h
, d
, and y
respectively. Whitespace is permitted between the value and its unit. Negative durations are permitted. For example:
1
2
3
4
5
declare local var.r RTIME;
set var.r = 0ms;
set var.r = 5.3d;
set var.r = -2s;
set beresp.ttl = 5 m;
Conversions to STRING values are rendered with no units, with values given in seconds to 3dp precision:
1
2
3
declare local var.r RTIME;
set var.r = 3.5d;
set resp.http.X-r = var.r; /* "302400.000" */
RTIME values resolve into 64-bit signed integers measured in nanoseconds. An RTIME value specified in VCL that - when converted into nanoseconds - is less than -9223372036854775808(ns) or greater than 9223372036854775807(ns), will be clamped to these respective minimum or maximum values:
Units | Mininum Value | Maximum Value |
---|---|---|
millisecond (ms) | -9223372036854 | 9223372036854 |
second (s) | -9223372036 | 9223372036 |
minute (m) | -153722867 | 153722867 |
hour (h) | -2562047 | 2562047 |
day (d) | -106751 | 106751 |
year (y) | -292 | 292 |