ILIAS  release_8 Revision v8.24
Duration.php
Go to the documentation of this file.
1<?php
2
18namespace ILIAS\HTTP\Duration;
19
21
25abstract class Duration
26{
30 protected const S_TO_US = 1_000_000;
31
35 protected const MS_TO_US = 1_000;
36
37 protected ?IncrementStrategy $increment = null;
38 protected int $duration_in_ms;
39
40 public function __construct(int $duration_in_ms)
41 {
42 $this->duration_in_ms = $duration_in_ms;
43 }
44
46 {
47 $clone = clone $this;
48 $clone->increment = $increment;
49
50 return $clone;
51 }
52
53 public function increment() : self
54 {
55 if (null === $this->increment) {
56 return $this;
57 }
58
59 $clone = clone $this;
60 $clone->duration_in_ms = $clone->increment->increment($clone->duration_in_ms);
61
62 return $clone;
63 }
64
65 public function withDuration(int $duration_in_ms) : self
66 {
67 $clone = clone $this;
68 $clone->duration_in_ms = $duration_in_ms;
69
70 return $clone;
71 }
72
73 public function getDuration() : int
74 {
76 }
77}
const MS_TO_US
number used for converting miliseconds (ms) into microseconds (us/µ) or vise-versa.
Definition: Duration.php:35
const S_TO_US
number used for converting seconds (s) into microseconds (us/µ) or vise-versa.
Definition: Duration.php:30
__construct(int $duration_in_ms)
Definition: Duration.php:40
withDuration(int $duration_in_ms)
Definition: Duration.php:65
withIncrement(IncrementStrategy $increment)
Definition: Duration.php:45
IncrementStrategy $increment
Definition: Duration.php:37
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...