Name

SPVM::Sys::Time - System Calls for Time Manipulation

Description

The Sys::Process class of SPVM has methods to call system calls for time manipulation.

Usage

use Sys::Time;

my $epoch = Sys::Time->time;

my $time_info_local = Sys::Time->localtime($epoch);

my $time_info_utc = Sys::Time->gmtime($epoch);

Class Methods

time

static method time : long ();

Calls the time function and returns its return value.

localtime

static method localtime : Sys::Time::Tm ($time_ref : long*);

Calls the localtime function and creates a Sys::Time::Tm object given its return value, and returns it.

gmtime

static method gmtime : Sys::Time::Tm ($time_ref : long*);

Calls the gmtime function and creates a Sys::Time::Tm object given its return value, and returns it.

gettimeofday

static method gettimeofday : int ($tv : Sys::Time::Timeval, $tz : Sys::Time::Timezone);

Calls the gmtime function and creates a Sys::Time::Timeval object given its return value, and returns it.

Exceptions:

If the gettimeofday function failed, an exception is thrown with eval_error_id set to the basic type ID of the Error::System.

clock

static method clock : long ()

Calls the clock function, and returns its return value.

Exceptions:

If the clock function failed, an exception is thrown with eval_error_id set to the basic type ID of the Error::System.

clock_gettime

static method clock_gettime : int ($clk_id : int, $tp : Sys::Time::Timespec);

Calls the clock_gettime function, and returns its return value.

See Sys::Time::Constant about constant values given to $clk_id.

Exceptions:

$tp must be defined. Otherwise an exception is thrown.

If the clock_gettime function failed, an exception is thrown with eval_error_id set to the basic type ID of the Error::System.

clock_getres

static method clock_getres : int ($clk_id : int, $res : Sys::Time::Timespec);

Calls the clock_getres function, and returns its return value.

See Sys::Time::Constant about constant values given to $clk_id.

Exceptions:

$res must be defined. Otherwise an exception is thrown.

If the clock_getres function failed, an exception is thrown with eval_error_id set to the basic type ID of the Error::System.

setitimer

static method setitimer : int ($which : int, $new_value : Sys::Time::Itimerval, $old_value : Sys::Time::Itimerval)

Calls the setitimer function, and returns its return value.

See Sys::Time::Constant about constant values given to $which.

Exceptions:

$new_value must be defined. Otherwise an exception is thrown.

If the clock_getres function failed, an exception is thrown with eval_error_id set to the basic type ID of the Error::System.

In Windows the following exception is thrown with eval_error_id set to the basic type ID of the Error::NotSupported class. setitimer is not supported in this system(defined(_WIN32)).

getitimer

static method getitimer : int ($which : int, $curr_value : Sys::Time::Itimerval);

Calls the getitimer function, and returns its return value.

See Sys::Time::Constant about constant values given to $which.

Exceptions:

$curr_value must be defined. Otherwise an exception is thrown.

If the getitimer function failed, an exception is thrown with eval_error_id set to the basic type ID of the Error::System.

In Windows the following exception is thrown with eval_error_id set to the basic type ID of the Error::NotSupported class. getitimer is not supported in this system(defined(_WIN32)).

times

static method times : long ($buffer : Sys::Time::Tms);

Calls the times function, and returns its return value.

Exceptions:

$tms must be defined. Otherwise an exception is thrown.

If the times function failed, an exception is thrown with eval_error_id set to the basic type ID of the Error::System.

In Windows the following exception is thrown with eval_error_id set to the basic type ID of the Error::NotSupported class. times is not supported in this system(defined(_WIN32)).

clock_nanosleep

static method clock_nanosleep : int ($clockid : int, $flags : int, $request : Sys::Time::Timespec, $remain : Sys::Time::Timespec);

Calls the clock_nanosleep function, and returns its return value.

See Sys::Time::Constant about constant values given to $clockid and $flags.

Exceptions:

$request must be defined. Otherwise an exception is thrown.

In Mac the following exception is thrown with eval_error_id set to the basic type ID of the Error::NotSupported class. clock_nanosleep is not supported in this system(__APPLE__).

nanosleep

static method nanosleep : int ($rqtp : Sys::Time::Timespec, $rmtp : Sys::Time::Timespec);

Calls the nanosleep function, and returns its return value.

Exceptions:

$rqtp must be defined. Otherwise an exception is thrown.

If the nanosleep function failed, an exception is thrown with eval_error_id set to the basic type ID of the Error::System.

Copyright & License

Copyright (c) 2023 Yuki Kimoto

MIT License