Table of Contents

Namespace MarymoorStudios.Core

Classes

BucketRateLimiter

A leaky bucket rate limiter.

CertificateExtensions
ClockResolution

Controls the resolution of the system clock.

Contract

Used to check contract invariants in either Debug-only (Assert) or Debug and Release (Requires, Invariant, etc.). Contract failures will attempt to break into the debugger, will trace the error, and will throw a ContractViolationException.

Crc32

CRC Generator.

EnumExtensions
EnumTraits<TEnum>
GcNotify

Notifies when garbage collection occurs.

Linear
LinqExtensions
LinqStructExtensions
MathExtensions
MemoryPool<T>

A pool of memory blocks.

MurmurHash3

MurmurHash3 for x64 (Little Endian).

NumericExtensions
RandomExtensions
SlabMemoryPool<T>
SpanBase58Extensions

Base58 Encoder.

SpanHexExtensions
WaitHandleExtensions

Extensions to the standard WaitHandle.

Structs

NumericExtensions.RangeEnumerator<T>

Non-allocating enumerator for numbers.

OwnedMem<T>

A capability for the exclusive ownership rights to an underlying memory.

ReadLockScope

A read-lock scope for use with ReaderWriterLockSlim.

SelectEnumerator<TEnumerator, TSource, TResult>
StructEnumerable<T, TInit, TEnumerator>
UpgradableLockScope

An upgradable read-lock scope for use with ReaderWriterLockSlim.

WhereEnumerator<TEnumerator, TSource>
WriteLockScope

A write-lock scope for use with ReaderWriterLockSlim.

Interfaces

IStructEnumerable<T, TEnumerator>

Exposes the enumerator, which supports a simple iteration over a collection of a specified type.

IStructEnumeratorActivator<T, TInit, TEnumerator>

Non-allocating enumerator for numbers.

IStructEnumerator<T, TEnumerator>

Non-allocating enumerator for numbers.

Enums

BucketRateLimiter.ResetBehavior

Affects how the number of tokens is impacted by a reset.