ConduitSharp.Traffic 2.0.0

dotnet add package ConduitSharp.Traffic --version 2.0.0
                    
NuGet\Install-Package ConduitSharp.Traffic -Version 2.0.0
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="ConduitSharp.Traffic" Version="2.0.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="ConduitSharp.Traffic" Version="2.0.0" />
                    
Directory.Packages.props
<PackageReference Include="ConduitSharp.Traffic" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add ConduitSharp.Traffic --version 2.0.0
                    
#r "nuget: ConduitSharp.Traffic, 2.0.0"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package ConduitSharp.Traffic@2.0.0
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=ConduitSharp.Traffic&version=2.0.0
                    
Install as a Cake Addin
#tool nuget:?package=ConduitSharp.Traffic&version=2.0.0
                    
Install as a Cake Tool

ConduitSharp.Traffic

Rate limiting, caching, and traffic-shaping abstractions for ConduitSharp plugins.

Provides interfaces for building custom rate-limit stores and cache backends that work with the gateway:

  • IRateLimitStore — distributed rate-limit counter backend
  • ICacheService — distributed response cache

Implement these interfaces to plug in your own Redis, memcached, DynamoDB, or any other backend.

Example: Redis Rate Limiter

public class RedisRateLimitStore : IRateLimitStore
{
    private readonly IConnectionMultiplexer redis;
    
    public async Task<bool> CheckAsync(string key, int limit, TimeSpan window)
    {
        var db = redis.GetDatabase();
        var count = await db.StringIncrementAsync(key);
        if (count == 1)
            await db.KeyExpireAsync(key, window);
        return count <= limit;
    }
}

See ConduitSharp.RateLimit.RedisProtocol for a complete implementation.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (5)

Showing the top 5 NuGet packages that depend on ConduitSharp.Traffic:

Package Downloads
ConduitSharp.Gateway.AspNetCore

Embed the ConduitSharp API gateway inside your own ASP.NET Core app: AddConduitSharpGateway() / UseConduitSharpGateway() wire the per-route plugin pipeline, proxy engine, and observability into your Kestrel host.

ConduitSharp.RateLimit.RedisProtocol

Distributed rate-limit store (IRateLimitStore) for ConduitSharp over the Redis protocol (RESP) — works with Valkey, Redis 7, and any RESP-compatible server. Shares fixed-window counters across gateway replicas instead of each instance counting independently. Fails open: a backend outage degrades to allowing requests rather than taking down the gateway.

ConduitSharp.Cache.RedisProtocol

Drop-in distributed response cache (ICacheService) for ConduitSharp over the Redis protocol — works with Valkey, Redis 7, and any RESP-compatible server. Shared across gateway instances, with request coalescing and route invalidation. Fails open: a backend outage degrades to no-cache rather than taking down the gateway.

ConduitSharp.RateLimit.SlidingWindow

Sliding-log rate-limit algorithm (IRateLimiter) for ConduitSharp. Drops into the plugins directory to replace the built-in fixed-window limiter, which allows up to 2x the nominal rate across a window boundary. Holds the limit across every instant by keeping the timestamp of each permit still inside the window, trading O(maxRequests) memory per active key for the accuracy.

ConduitSharp.Plugin.TokenRateLimit

A plugin for the ConduitSharp API gateway that rate limits by LLM tokens instead of request count. Charge-after: reads the token counts out of the response body and charges them to a per-caller fixed window, so the next request over budget gets a 429. Shares the gateway's IRateLimitStore, so the Redis drop-in makes the budget hold across replicas.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.0.0 169 8/14/2026
1.0.0 165 7/25/2026
1.0.0-rc.1 82 7/18/2026