SnapDB.IO.Unmanaged Namespace

The SnapDB.IO.Unmanaged namespace organizes all common SnapDB library functionality related to stream tools, e.g., the MemoryPoolStream class.

Classes

BinaryStream Provides a binary stream for reading and writing data.
BinaryStreamIoSessionBase Implementing this interface allows a binary stream to be attached to a buffer.
BinaryStreamPointerWrapper Creates a BinaryStreamBase that wraps a single pointer.
BlockArguments A set of fields that are passed to a GetBlock(BlockArguments) method to get results.
CollectionEventArgs Represents a collection of event arguments.
Memory This class is used to allocate and free unmanaged memory. To release memory allocated through this class, call the Dispose() method of the return value.
MemoryPool This class allocates and pools unmanaged memory. Designed to be internally thread safe.
MemoryPoolStream Provides a in memory stream that uses pages that are pooled in the unmanaged buffer pool.
MemoryPoolStreamCore Provides a dynamically sizing sequence of unmanaged data.
UnmanagedMemoryStream Provides a in memory stream that allocates its own unmanaged memory.
UnmanagedMemoryStreamCore Represents settings and storage for managing IntPtr arrays used for memory management.

Interfaces

ISupportsBinaryStream Implementing this interface allows a binary stream to be attached to a buffer.

Enumerations

MemoryPoolCollectionMode Specifies how critical the collection of memory blocks is.
TargetUtilizationLevels Determines the desired buffer pool utilization level. Setting to Low will cause collection cycles to occur more often to keep the utilization level to low.