Roc Toolkit internal modules
Roc Toolkit: real-time audio streaming
|
General-purpose building blocks and platform abstraction layer. More...
Classes | |
union | AlignMax |
Maximum aligned data unit. More... | |
class | AlignOps |
Alignment operations. More... | |
class | AlignedStorage |
Fixed-size maximum-aligned storage. More... | |
class | ArenaAllocation |
Allocation policy for objects allocated using IArena. More... | |
class | PoolAllocation |
Allocation policy for objects allocated using IPool. More... | |
class | CustomAllocation |
Allocation policy for objects with custom deallocation function. More... | |
class | ManualAllocation |
Allocation policy for objects that does not have automatic deallocation. More... | |
class | Array |
Dynamic array. More... | |
class | Atomic |
Atomic integer. Provides sequential consistency. For a fine-grained memory order control, see AtomicOps. More... | |
class | Atomic< T * > |
Atomic pointer. Provides sequential consistency. For a fine-grained memory order control, see AtomicOps. More... | |
class | Buffer |
Fixed-size dynamically-allocated byte buffer. More... | |
struct | CsvEntry |
CSV entry. Corresponds to one line in output file. More... | |
struct | CsvConfig |
CSV write configuration. More... | |
class | CsvDumper |
Asynchronous CSV dumper. Writes entries to CSV file from background thread. Recommended to be used from a single thread. More... | |
class | EndianOps |
Endian operations. More... | |
class | GlobalDestructor |
Allows to determine if global library destruction was initiated. More... | |
class | Hashmap |
Intrusive hash table. More... | |
class | HashmapImpl |
Intrusive hash table internal implementation. More... | |
struct | HashmapData |
Hashmap node internal data. More... | |
class | HashmapNode |
Base class for Hashmap element. More... | |
class | HeapArena |
Heap arena implementation. More... | |
class | IArena |
Memory arena interface. More... | |
class | IPool |
Memory pool interface. More... | |
class | LimitedArena |
Decorator around IArena to make it memory limited. More... | |
class | LimitedPool |
Decorator around IPool to make it memory limited. More... | |
class | List |
Intrusive doubly-linked list. More... | |
class | ListImpl |
Intrusive doubly-linked list implementation class. Handles List infrastructure independent of templated type for List. Ownership handling is left to the main List class. More... | |
struct | ListData |
List node internal data. More... | |
class | ListNode |
Base class for List element. More... | |
struct | LogMessage |
Log message. More... | |
class | Logger |
Logger. More... | |
class | MemoryLimiter |
Memory limiter. This class can be used to keep track of memory being consumed. This is done through the acquire and release methods. The class is used within classes such as LimitedPool, LimitedArena. More... | |
class | MemoryOps |
Memory operations. More... | |
class | MovStats |
Rolling window moving average and variance. More... | |
class | MpscQueue |
Thread-safe lock-free node-based intrusive multi-producer single-consumer queue. More... | |
class | MpscQueueImpl |
Multi-producer single-consumer queue internal implementation class. More... | |
struct | MpscQueueData |
MpscQueue node internal data. More... | |
class | MpscQueueNode |
Base class for MpscQueue element. More... | |
class | NonCopyable |
Base class for non-copyable objects. More... | |
class | NoopArenaImpl |
Arena implementation that just fails all allocations. Can be used with containers that have embedded capacity and arena, but we want them to use only embedded capacity. More... | |
class | Optional |
Optionally constructed object. More... | |
class | SharedPtr |
Shared ownership intrusive pointer. More... | |
struct | RefCountedOwnership |
Reference counted object ownership. More... | |
struct | NoOwnership |
No ownership. More... | |
class | Printer |
Printer. More... | |
class | RateLimiter |
Rate limiter. More... | |
class | RefCounted |
Base class for object with reference counter. More... | |
class | RefCountedImpl |
Implementation class for reference counter. More... | |
class | RingQueue |
Queue on continuous memory buffer. More... | |
class | ScopedLock |
RAII mutex lock. More... | |
class | ScopedPtr |
Unique ownrship pointer. More... | |
class | Seqlock |
Seqlock. More... | |
class | SeqlockImpl |
Seqlock implementation class. More... | |
class | SlabPool |
Memory pool. More... | |
class | SlabPoolImpl |
Memory pool implementation class. More... | |
class | Slice |
Slice. More... | |
class | SpscByteBuffer |
Thread-safe lock-free single-producer single-consumer circular buffer of byte chunks. More... | |
class | SpscRingBuffer |
Thread-safe lock-free single-producer single-consumer circular buffer of copyable objects. More... | |
class | StringBuffer |
String buffer. More... | |
class | StringBuilder |
String builder. More... | |
class | StringList |
Dynamic list of strings. More... | |
class | LogBackend |
Log backend. More... | |
class | AtomicOps |
Atomic operations. This wrapper exists because on non-C11 compilers we use another implementation. More... | |
class | Semaphore |
Semaphore. More... | |
class | Cond |
Condition variable. More... | |
class | CrashHandler |
Crash handler. More... | |
class | errno_to_str |
Convert errno to string. More... | |
class | Mutex |
Mutex. More... | |
class | Singleton |
Singleton. More... | |
class | TempFile |
Temporary file. More... | |
class | Thread |
Base class for thread objects. More... | |
class | Ticker |
Ticker. More... | |
class | Timer |
Thread-safe timer. More... | |
Typedefs | |
typedef SharedPtr< Buffer > | BufferPtr |
Buffer smart pointer. More... | |
typedef size_t | hashsum_t |
Hash type. More... | |
typedef void(* | LogHandler) (const LogMessage &message, void **args) |
Log handler. More... | |
typedef uint32_t | seqlock_version_t |
Type for holding seqlock value version. Version is changed each value update. May wrap. More... | |
typedef int64_t | nanoseconds_t |
Nanoseconds. More... | |
Enumerations | |
enum | HeapArenaGuard { HeapArena_LeakGuard = (1 << 0) , HeapArena_OverflowGuard = (1 << 1) , HeapArena_OwnershipGuard = (1 << 2) } |
Heap arena guards. More... | |
enum | { HeapArena_DefaultGuards = (HeapArena_OverflowGuard | HeapArena_OwnershipGuard) } |
Default heap arena guards. Leak guard is disabled by default, because in C API leaks may be caused by user (e.g. if context wasn't closed before program exit). We don't want to turn bugs in user code into panics, only bugs in our own code should cause panics. More... | |
enum | ColorsMode { ColorsAuto , ColorsEnabled , ColorsDisabled } |
Colors mode. More... | |
enum | LocationMode { LocationEnabled , LocationDisabled } |
Location mode. More... | |
enum | SlabPoolGuard { SlabPool_LeakGuard = (1 << 0) , SlabPool_OverflowGuard = (1 << 1) , SlabPool_OwnershipGuard = (1 << 2) } |
Memory pool guards. More... | |
enum | { SlabPool_DefaultGuards } |
Default memory pool guards. More... | |
enum | Color { Color_None , Color_None , Color_White , Color_Gray , Color_Red , Color_Green , Color_Yellow , Color_Blue , Color_Magenta , Color_Cyan } |
Color ID. More... | |
enum | Color { Color_None , Color_None , Color_White , Color_Gray , Color_Red , Color_Green , Color_Yellow , Color_Blue , Color_Magenta , Color_Cyan } |
Color ID. More... | |
enum | clock_t { ClockMonotonic , ClockUnix } |
Clock identifier. More... | |
enum | { UuidLen = 36 } |
Functions | |
void | print_backtrace_full () |
Print backtrace to stderr. More... | |
void | print_backtrace_safe () |
Print backtrace to stderr (emergency mode). More... | |
const char * | demangle_symbol (const char *mangled, char *&demangled_buf, size_t &demangled_size) |
Demangle symbol name. More... | |
uint16_t | ntoh16u (uint16_t v) |
Network to host byte order (unsigned 16-bit). More... | |
int16_t | ntoh16s (int16_t v) |
Network to host byte order (signed 16-bit). More... | |
uint32_t | ntoh32u (uint32_t v) |
Network to host byte order (unsigned 32-bit). More... | |
int32_t | ntoh32s (int32_t v) |
Network to host byte order (signed 32-bit). More... | |
uint64_t | ntoh64u (uint64_t v) |
Network to host byte order (unsigned 64-bit). More... | |
int64_t | ntoh64s (int64_t v) |
Network to host byte order (signed 64-bit). More... | |
uint16_t | hton16u (uint16_t v) |
Host to network byte order (unsigned 16-bit). More... | |
int16_t | hton16s (int16_t v) |
Host to network byte order (signed 16-bit). More... | |
uint32_t | hton32u (uint32_t v) |
Host to network byte order (unsigned 32-bit). More... | |
int32_t | hton32s (int32_t v) |
Host to network byte order (signed 32-bit). More... | |
uint64_t | hton64u (uint64_t v) |
Host to network byte order (unsigned 64-bit). More... | |
int64_t | hton64s (int64_t v) |
Host to network byte order (signed 64-bit). More... | |
uint32_t | fast_random () |
Get a random integer from a non cryptographically secure, but fast PRNG. Thread-safe. More... | |
uint32_t | fast_random_range (uint32_t from, uint32_t to) |
Get a random integer from a non cryptographically secure, but fast PRNG. Thread-safe. More... | |
double | fast_random_gaussian () |
Get a random double from a non cryptographically secure, but fast PRNG. Thread-safe. More... | |
hashsum_t | hashsum_int (int16_t) |
Compute hash of 16-bit integer. More... | |
hashsum_t | hashsum_int (uint16_t) |
Compute hash of 16-bit integer. More... | |
hashsum_t | hashsum_int (int32_t) |
Compute hash of 32-bit integer. More... | |
hashsum_t | hashsum_int (uint32_t) |
Compute hash of 32-bit integer. More... | |
hashsum_t | hashsum_int (int64_t) |
Compute hash of 64-bit integer. More... | |
hashsum_t | hashsum_int (uint64_t) |
Compute hash of 64-bit integer. More... | |
template<class T > | |
hashsum_t | hashsum_int (T t) |
Compute hash of an integer. This fallback is needed for the cases when the overloads above do not cover all builtin types. E.g. if none of the overloads above covers unsigned long or unsigned long long. More... | |
hashsum_t | hashsum_str (const char *str) |
Compute hash of zero-terminated string. More... | |
hashsum_t | hashsum_mem (const void *data, size_t size) |
Compute hash of byte range. More... | |
void | hashsum_add (hashsum_t &hash, const void *data, size_t size) |
Incrementally compute hash of memory chunks. On first invocation, hash should be zero. More... | |
void | panic (const char *module, const char *file, int line, const char *format,...) |
Print error message and terminate program gracefully. More... | |
ROC_ATTR_NODISCARD bool | parse_duration (const char *string, nanoseconds_t &result) |
Parse duration from string. More... | |
ROC_ATTR_NODISCARD bool | parse_size (const char *string, size_t &result) |
Parse size from string. More... | |
void | print_memory (const uint8_t *data, size_t size) |
Print memory. More... | |
void | print_memory (const uint16_t *data, size_t size) |
Print memory. More... | |
void | print_memory (const uint32_t *data, size_t size) |
Print memory. More... | |
void | print_memory (const uint64_t *data, size_t size) |
Print memory. More... | |
void | print_memory (const int8_t *data, size_t size) |
Print memory. More... | |
void | print_memory (const int16_t *data, size_t size) |
Print memory. More... | |
void | print_memory (const int32_t *data, size_t size) |
Print memory. More... | |
void | print_memory (const int64_t *data, size_t size) |
Print memory. More... | |
void | print_memory (const float *data, size_t size) |
Print memory. More... | |
void | print_memory (const double *data, size_t size) |
Print memory. More... | |
void | print_memory_slice (const uint8_t *inner, size_t inner_size, const uint8_t *outer, size_t outer_size) |
Print memory slice. More... | |
void | print_memory_slice (const uint16_t *inner, size_t inner_size, const uint16_t *outer, size_t outer_size) |
Print memory slice. More... | |
void | print_memory_slice (const uint32_t *inner, size_t inner_size, const uint32_t *outer, size_t outer_size) |
Print memory slice. More... | |
void | print_memory_slice (const uint64_t *inner, size_t inner_size, const uint64_t *outer, size_t outer_size) |
Print memory slice. More... | |
void | print_memory_slice (const int8_t *inner, size_t inner_size, const int8_t *outer, size_t outer_size) |
Print memory slice. More... | |
void | print_memory_slice (const int16_t *inner, size_t inner_size, const int16_t *outer, size_t outer_size) |
Print memory slice. More... | |
void | print_memory_slice (const int32_t *inner, size_t inner_size, const int32_t *outer, size_t outer_size) |
Print memory slice. More... | |
void | print_memory_slice (const int64_t *inner, size_t inner_size, const int64_t *outer, size_t outer_size) |
Print memory slice. More... | |
void | print_memory_slice (const float *inner, size_t inner_size, const float *outer, size_t outer_size) |
Print memory slice. More... | |
void | print_memory_slice (const double *inner, size_t inner_size, const double *outer, size_t outer_size) |
Print memory slice. More... | |
bool | seqlock_version_is_valid (seqlock_version_t ver) |
Check if this is a valid seqlock version. Returns false if seqlock version corresponds to intermediate state that should never be seen by seqlock user. More... | |
template<class T1 , class T2 > | |
bool | operator== (const SharedPtr< T1 > &a, const SharedPtr< T2 > &b) |
Equality check. More... | |
template<class T1 , class T2 > | |
bool | operator!= (const SharedPtr< T1 > &a, const SharedPtr< T2 > &b) |
Equality check. More... | |
bool | console_supports_colors () |
Check if colors can be used. More... | |
void | console_println (const char *format,...) |
Print line. More... | |
void | console_println (Color color, const char *format,...) |
Print line (with color). More... | |
void | cpu_relax () |
CPU pause instruction. More... | |
void | die_fast (int code) |
Terminate program. More... | |
void | die_gracefully (const char *message, bool full_backtrace) |
Terminate program with error message and backtrace. More... | |
nanoseconds_t | timestamp (clock_t clock) |
Get current timestamp in nanoseconds. More... | |
void | sleep_until (clock_t clock, nanoseconds_t timestamp) |
Sleep until the specified absolute time point has been reached. More... | |
void | sleep_for (clock_t clock, nanoseconds_t duration) |
Sleep specified amount of time. More... | |
std::tm | nanoseconds_2_tm (nanoseconds_t timestamp) |
Convert timestamp in nanoseconds format to broken-down time. More... | |
nanoseconds_t | tm_2_nanoseconds (std::tm tm) |
Convert timestamp from broken-down time to nanoseconds format. More... | |
bool | ns_equal_delta (nanoseconds_t a, nanoseconds_t b, nanoseconds_t delta) |
Compares a and b if they close enough. More... | |
bool | uuid_generare (char *buf, size_t buf_sz) |
Generate UUID string into given buffer. More... | |
Variables | |
const nanoseconds_t | Nanosecond = 1 |
One nanosecond represented in nanoseconds. More... | |
const nanoseconds_t | Microsecond = 1000 * Nanosecond |
One microsecond represented in nanoseconds. More... | |
const nanoseconds_t | Millisecond = 1000 * Microsecond |
One millisecond represented in nanoseconds. More... | |
const nanoseconds_t | Second = 1000 * Millisecond |
One second represented in nanoseconds. More... | |
const nanoseconds_t | Minute = 60 * Second |
One minute represented in nanoseconds. More... | |
const nanoseconds_t | Hour = 60 * Minute |
One hour represented in nanoseconds. More... | |
const nanoseconds_t | Day = 24 * Hour |
One day represented in nanoseconds. More... | |
General-purpose building blocks and platform abstraction layer.
typedef SharedPtr<Buffer> roc::core::BufferPtr |
typedef size_t roc::core::hashsum_t |
typedef void(* roc::core::LogHandler) (const LogMessage &message, void **args) |
typedef int64_t roc::core::nanoseconds_t |
typedef uint32_t roc::core::seqlock_version_t |
Type for holding seqlock value version. Version is changed each value update. May wrap.
Definition at line 23 of file seqlock_impl.h.
anonymous enum |
Default memory pool guards.
Definition at line 37 of file slab_pool.h.
anonymous enum |
anonymous enum |
Default heap arena guards. Leak guard is disabled by default, because in C API leaks may be caused by user (e.g. if context wasn't closed before program exit). We don't want to turn bugs in user code into panics, only bugs in our own code should cause panics.
Definition at line 37 of file heap_arena.h.
enum roc::core::clock_t |
Clock identifier.
enum roc::core::Color |
enum roc::core::Color |
Heap arena guards.
Definition at line 24 of file heap_arena.h.
Memory pool guards.
Definition at line 27 of file slab_pool.h.
void roc::core::console_println | ( | Color | color, |
const char * | format, | ||
... | |||
) |
Print line (with color).
void roc::core::console_println | ( | const char * | format, |
... | |||
) |
Print line.
bool roc::core::console_supports_colors | ( | ) |
Check if colors can be used.
|
inline |
CPU pause instruction.
Definition at line 46 of file cpu_instructions.h.
const char* roc::core::demangle_symbol | ( | const char * | mangled, |
char *& | demangled_buf, | ||
size_t & | demangled_size | ||
) |
Demangle symbol name.
demangled_buf
and demangled_size
specify the buffer for demangled name. When necessary, this function malloc()s or realloc()s demangled_buf
and updates demangled_size
accordingly. The buffer may be NULL. The buffer may be resused across several calls. The user should manually free() the buffer when it's not needed anymore. void roc::core::die_fast | ( | int | code | ) |
Terminate program.
void roc::core::die_gracefully | ( | const char * | message, |
bool | full_backtrace | ||
) |
Terminate program with error message and backtrace.
uint32_t roc::core::fast_random | ( | ) |
Get a random integer from a non cryptographically secure, but fast PRNG. Thread-safe.
double roc::core::fast_random_gaussian | ( | ) |
Get a random double from a non cryptographically secure, but fast PRNG. Thread-safe.
uint32_t roc::core::fast_random_range | ( | uint32_t | from, |
uint32_t | to | ||
) |
Get a random integer from a non cryptographically secure, but fast PRNG. Thread-safe.
void roc::core::hashsum_add | ( | hashsum_t & | hash, |
const void * | data, | ||
size_t | size | ||
) |
Incrementally compute hash of memory chunks. On first invocation, hash
should be zero.
hashsum_t roc::core::hashsum_int | ( | int16_t | ) |
Compute hash of 16-bit integer.
hashsum_t roc::core::hashsum_int | ( | int32_t | ) |
Compute hash of 32-bit integer.
hashsum_t roc::core::hashsum_int | ( | int64_t | ) |
Compute hash of 64-bit integer.
hashsum_t roc::core::hashsum_int | ( | T | t | ) |
hashsum_t roc::core::hashsum_int | ( | uint16_t | ) |
Compute hash of 16-bit integer.
hashsum_t roc::core::hashsum_int | ( | uint32_t | ) |
Compute hash of 32-bit integer.
hashsum_t roc::core::hashsum_int | ( | uint64_t | ) |
Compute hash of 64-bit integer.
hashsum_t roc::core::hashsum_mem | ( | const void * | data, |
size_t | size | ||
) |
Compute hash of byte range.
hashsum_t roc::core::hashsum_str | ( | const char * | str | ) |
Compute hash of zero-terminated string.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
std::tm roc::core::nanoseconds_2_tm | ( | nanoseconds_t | timestamp | ) |
Convert timestamp in nanoseconds format to broken-down time.
bool roc::core::ns_equal_delta | ( | nanoseconds_t | a, |
nanoseconds_t | b, | ||
nanoseconds_t | delta | ||
) |
Compares a and b if they close enough.
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
Equality check.
Definition at line 142 of file shared_ptr.h.
|
inline |
Equality check.
Definition at line 136 of file shared_ptr.h.
void roc::core::panic | ( | const char * | module, |
const char * | file, | ||
int | line, | ||
const char * | format, | ||
... | |||
) |
Print error message and terminate program gracefully.
ROC_ATTR_NODISCARD bool roc::core::parse_duration | ( | const char * | string, |
nanoseconds_t & | result | ||
) |
Parse duration from string.
ROC_ATTR_NODISCARD bool roc::core::parse_size | ( | const char * | string, |
size_t & | result | ||
) |
Parse size from string.
void roc::core::print_backtrace_full | ( | ) |
Print backtrace to stderr.
void roc::core::print_backtrace_safe | ( | ) |
Print backtrace to stderr (emergency mode).
void roc::core::print_memory | ( | const double * | data, |
size_t | size | ||
) |
Print memory.
void roc::core::print_memory | ( | const float * | data, |
size_t | size | ||
) |
Print memory.
void roc::core::print_memory | ( | const int16_t * | data, |
size_t | size | ||
) |
Print memory.
void roc::core::print_memory | ( | const int32_t * | data, |
size_t | size | ||
) |
Print memory.
void roc::core::print_memory | ( | const int64_t * | data, |
size_t | size | ||
) |
Print memory.
void roc::core::print_memory | ( | const int8_t * | data, |
size_t | size | ||
) |
Print memory.
void roc::core::print_memory | ( | const uint16_t * | data, |
size_t | size | ||
) |
Print memory.
void roc::core::print_memory | ( | const uint32_t * | data, |
size_t | size | ||
) |
Print memory.
void roc::core::print_memory | ( | const uint64_t * | data, |
size_t | size | ||
) |
Print memory.
void roc::core::print_memory | ( | const uint8_t * | data, |
size_t | size | ||
) |
Print memory.
void roc::core::print_memory_slice | ( | const double * | inner, |
size_t | inner_size, | ||
const double * | outer, | ||
size_t | outer_size | ||
) |
Print memory slice.
void roc::core::print_memory_slice | ( | const float * | inner, |
size_t | inner_size, | ||
const float * | outer, | ||
size_t | outer_size | ||
) |
Print memory slice.
void roc::core::print_memory_slice | ( | const int16_t * | inner, |
size_t | inner_size, | ||
const int16_t * | outer, | ||
size_t | outer_size | ||
) |
Print memory slice.
void roc::core::print_memory_slice | ( | const int32_t * | inner, |
size_t | inner_size, | ||
const int32_t * | outer, | ||
size_t | outer_size | ||
) |
Print memory slice.
void roc::core::print_memory_slice | ( | const int64_t * | inner, |
size_t | inner_size, | ||
const int64_t * | outer, | ||
size_t | outer_size | ||
) |
Print memory slice.
void roc::core::print_memory_slice | ( | const int8_t * | inner, |
size_t | inner_size, | ||
const int8_t * | outer, | ||
size_t | outer_size | ||
) |
Print memory slice.
void roc::core::print_memory_slice | ( | const uint16_t * | inner, |
size_t | inner_size, | ||
const uint16_t * | outer, | ||
size_t | outer_size | ||
) |
Print memory slice.
void roc::core::print_memory_slice | ( | const uint32_t * | inner, |
size_t | inner_size, | ||
const uint32_t * | outer, | ||
size_t | outer_size | ||
) |
Print memory slice.
void roc::core::print_memory_slice | ( | const uint64_t * | inner, |
size_t | inner_size, | ||
const uint64_t * | outer, | ||
size_t | outer_size | ||
) |
Print memory slice.
void roc::core::print_memory_slice | ( | const uint8_t * | inner, |
size_t | inner_size, | ||
const uint8_t * | outer, | ||
size_t | outer_size | ||
) |
Print memory slice.
|
inline |
Check if this is a valid seqlock version. Returns false if seqlock version corresponds to intermediate state that should never be seen by seqlock user.
Definition at line 28 of file seqlock_impl.h.
void roc::core::sleep_for | ( | clock_t | clock, |
nanoseconds_t | duration | ||
) |
Sleep specified amount of time.
duration
specifies number of nanoseconds to sleep. void roc::core::sleep_until | ( | clock_t | clock, |
nanoseconds_t | timestamp | ||
) |
Sleep until the specified absolute time point has been reached.
timestamp
specifies absolute time point in nanoseconds. nanoseconds_t roc::core::timestamp | ( | clock_t | clock | ) |
Get current timestamp in nanoseconds.
nanoseconds_t roc::core::tm_2_nanoseconds | ( | std::tm | tm | ) |
Convert timestamp from broken-down time to nanoseconds format.
bool roc::core::uuid_generare | ( | char * | buf, |
size_t | buf_sz | ||
) |
Generate UUID string into given buffer.
buf
is null or buf_sz
is less than UuidLen + 1. const nanoseconds_t roc::core::Day = 24 * Hour |
const nanoseconds_t roc::core::Hour = 60 * Minute |
const nanoseconds_t roc::core::Microsecond = 1000 * Nanosecond |
const nanoseconds_t roc::core::Millisecond = 1000 * Microsecond |
const nanoseconds_t roc::core::Minute = 60 * Second |
const nanoseconds_t roc::core::Nanosecond = 1 |
const nanoseconds_t roc::core::Second = 1000 * Millisecond |