Class RateLimitedDirectoryWrapper
A Directory wrapper that allows IndexOutput rate limiting using IO context (IOContext.UsageContext) specific rate limiters (RateLimiter).
@lucene.experimental
Inherited Members
Assembly: DistributedLucene.Net.dll
Syntax
public sealed class RateLimitedDirectoryWrapper : FilterDirectory
Constructors
Name | Description |
---|---|
RateLimitedDirectoryWrapper(Directory) |
Methods
Name | Description |
---|---|
Copy(Directory, String, String, IOContext) | |
CreateOutput(String, IOContext) | |
CreateSlicer(String, IOContext) | |
GetMaxWriteMBPerSec(IOContext.UsageContext) | See SetMaxWriteMBPerSec(Nullable<Double>, IOContext.UsageContext). @lucene.experimental |
SetMaxWriteMBPerSec(Nullable<Double>, IOContext.UsageContext) | Sets the maximum (approx) MB/sec allowed by all write IO performed by
IndexOutput created with the given IOContext.UsageContext. Pass
NOTE: For already created IndexOutput instances there is no guarantee this new rate will apply to them; it will only be guaranteed to apply for new created IndexOutput instances. NOTE: this is an optional operation and might not be respected by all Directory implementations. Currently only buffered (FSDirectory) Directory implementations use rate-limiting. @lucene.experimental |
SetRateLimiter(RateLimiter, IOContext.UsageContext) | Sets the rate limiter to be used to limit (approx) MB/sec allowed by all IO
performed with the given context (IOContext.UsageContext). Pass Passing an instance of rate limiter compared to setting it using SetMaxWriteMBPerSec(Nullable<Double>, IOContext.UsageContext) allows to use the same limiter instance across several directories globally limiting IO across them. @lucene.experimental |