chasemedallion
NuGet publisher profile
Packages (29)
DistributedLock.Core
Core interfaces and utilities that support the DistributedLock.* family of packages
MedallionTopologicalSort
A fast implementation of topological sorting that supports stable sorting as well as breaking ties via ThenBy[Descending]
DistributedLock.Redis
Provides distributed locking primitives based on Redis
DistributedLock.SqlServer
Provides a distributed lock implementation based on SQL Server
DistributedLock.Postgres
Provides a distributed lock implementation based on Postgresql
DistributedLock.FileSystem
Provides a distributed lock implementation based on file locks
DistributedLock
Provides easy-to-use mutexes, reader-writer locks, and semaphores that can synchronize across processes and machines. This is an umbrella package that brings in the entire family of DistributedLock.* packages (e. g. DistributedLock.SqlServer) as references. Those packages can also be installed individually.
DistributedLock.Azure
Provides a distributed locking implementation based on Azure blob leases
DistributedLock.WaitHandles
Provides a distributed lock implementation based on global WaitHandle objects in Windows
DistributedLock.MySql
Provides a distributed lock implementation based on MySql
DistributedLock.ZooKeeper
Provides a distributed locking implementation based on Apache ZooKeeper
DistributedLock.Oracle
Provides a distributed lock implementation based on Oracle Database
MedallionShell
A lightweight, cross-platform library that simplifies working with processes in .NET
DistributedLock.MongoDB
Provides a distributed lock implementation based on MongoDB
MedallionOData
MedallionOData is a lightweight, zero-setup .NET library for creating and querying OData and OData-like services.
MedallionRandom
A lightweight library of common utilities for working with random numbers
MedallionShell.StrongName
Strong-named release of MedallionShell 1.x. MedallionShell is a lightweight, cross-platform library that simplifies working with processes in .NET
MedallionPriorityQueue
A fast generic PriorityQueue data structure .NET
ImmutableLinkedList
Lightweight and performant immutable linked list data structure for .NET
Traverse
Explore trees and tree-like structures with LINQ using tree-traversal algorithms like breadth-first and depth-first search: IEnumerable<DirectoryInfo> childDirectories = Traverse.DepthFirst(new DirectoryInfo(...), d => d.EnumerateDirectories()); IEnumerable<DirectoryInfo> parentDirectories = Traverse.Along(new DirectoryInfo(...), d => d.Parent);
CancellationProvider
Abstraction for flowing CancellationToken via dependency injection
Bits
Convenient and fast bitwise operations for all .NET primitive integral types
MedallionCollections
A lightweight library containing common utilities for working with .NET collections and enumerables
MedallionCollections.Inline
A lightweight library containing common utilities for working with .NET collections and enumerables
MedallionPriorityQueue.Inline
A fast generic PriorityQueue data structure .NET
MedallionRandom.Inline
A lightweight library of common utilities for working with random numbers
PrecompiledRegex.Fody
Compiles regular expressions as part of the build process for improved performance and validation
MedallionComparers
MedallionComparers makes it easy to create IEqualityComparer<T>s and IComparer<T>s for any situation, including comparing collections.
DistributedLock.ProcessScoped
Provides a process-scoped implementation of named locks