CloudCastle Clock API

MonotonicClock
in package
implements SleepableClockInterface

FinalYes

Монотонные часы на `hrtime()`.

Точка отсчёта фиксируется при создании, дальше время вычисляется от монотонного таймера ядра: перевод системных часов (NTP-коррекция, ручная смена времени) на показания не влияет. Незаменимы для измерения интервалов и таймаутов.

Table of Contents

Interfaces

SleepableClockInterface
Часы, умеющие «спать» до нужного момента.

Methods

__construct()  : mixed
Зафиксировать точку отсчёта в момент создания.
freeze()  : FrozenClock
Снимок текущего момента в замороженные часы.
microtime()  : float
Unix-момент с микросекундами: точка отсчёта плюс монотонная дельта.
now()  : DateTimeImmutable
Текущий момент от монотонного таймера.
sleep()  : void
Реальная блокировка процесса на заданное число секунд.
sleepUntil()  : void
Блокировка до указанного момента по монотонной шкале; прошедший момент — мгновенный возврат.
timestamp()  : int
Unix-timestamp от монотонного таймера.
timezone()  : DateTimeZone
Таймзона часов.
withTimezone()  : static
Новые монотонные часы в другой таймзоне (точка отсчёта фиксируется заново).

Methods

__construct()

Зафиксировать точку отсчёта в момент создания.

public __construct([DateTimeZone|non-empty-string|null $timezone = null ]) : mixed
Parameters
$timezone : DateTimeZone|non-empty-string|null = null

таймзона выдаваемых моментов; null — системная

Tags
throws
InvalidClockValueException

если идентификатор таймзоны не распознан

freeze()

Снимок текущего момента в замороженные часы.

public freeze() : FrozenClock
Attributes
#[Override]
Return values
FrozenClock —

Снимок текущего момента в замороженные часы

microtime()

Unix-момент с микросекундами: точка отсчёта плюс монотонная дельта.

public microtime() : float
Attributes
#[Override]
Return values
float —

Unix-момент с микросекундами: точка отсчёта плюс монотонная дельта

now()

Текущий момент от монотонного таймера.

public now() : DateTimeImmutable
Attributes
#[Override]
Return values
DateTimeImmutable —

Текущий момент от монотонного таймера

sleep()

Реальная блокировка процесса на заданное число секунд.

public sleep(float $seconds) : void
Parameters
$seconds : float

неотрицательная длительность паузы

Tags
throws
InvalidClockValueException

при отрицательной длительности

Attributes
#[Override]

sleepUntil()

Блокировка до указанного момента по монотонной шкале; прошедший момент — мгновенный возврат.

public sleepUntil(DateTimeImmutable $moment) : void
Parameters
$moment : DateTimeImmutable

момент, до которого блокируется процесс

Attributes
#[Override]

timestamp()

Unix-timestamp от монотонного таймера.

public timestamp() : int
Attributes
#[Override]
Return values
int —

Unix-timestamp от монотонного таймера

timezone()

Таймзона часов.

public timezone() : DateTimeZone
Attributes
#[Override]
Return values
DateTimeZone —

Таймзона часов

withTimezone()

Новые монотонные часы в другой таймзоне (точка отсчёта фиксируется заново).

public withTimezone(DateTimeZone|non-empty-string $timezone) : static
Parameters
$timezone : DateTimeZone|non-empty-string

объект или идентификатор таймзоны

Tags
throws
InvalidClockValueException

если идентификатор таймзоны не распознан

Attributes
#[Override]
Return values
static
On this page

Search results