Show / Hide Table of Contents

    Class RateLimitedDirectoryWrapper

    A Directory wrapper that allows IndexOutput rate limiting using IO context (IOContext.UsageContext) specific rate limiters (RateLimiter).

    This is a Lucene.NET EXPERIMENTAL API, use at your own risk
    Inheritance
    System.Object
    Directory
    FilterDirectory
    RateLimitedDirectoryWrapper
    Inherited Members
    FilterDirectory.m_input
    FilterDirectory.Delegate
    FilterDirectory.ListAll()
    FilterDirectory.FileExists(String)
    FilterDirectory.DeleteFile(String)
    FilterDirectory.FileLength(String)
    FilterDirectory.Sync(ICollection<String>)
    FilterDirectory.OpenInput(String, IOContext)
    FilterDirectory.MakeLock(String)
    FilterDirectory.ClearLock(String)
    FilterDirectory.Dispose(Boolean)
    FilterDirectory.SetLockFactory(LockFactory)
    FilterDirectory.GetLockID()
    FilterDirectory.LockFactory
    FilterDirectory.ToString()
    Directory.OpenChecksumInput(String, IOContext)
    Directory.Dispose()
    Directory.EnsureOpen()
    Namespace: Lucene.Net.Store
    Assembly: Lucene.Net.dll
    Syntax
    public sealed class RateLimitedDirectoryWrapper : FilterDirectory

    Constructors

    | Improve this Doc View Source

    RateLimitedDirectoryWrapper(Directory)

    Declaration
    public RateLimitedDirectoryWrapper(Directory wrapped)
    Parameters
    Type Name Description
    Directory wrapped

    Methods

    | Improve this Doc View Source

    Copy(Directory, String, String, IOContext)

    Declaration
    public override void Copy(Directory to, string src, string dest, IOContext context)
    Parameters
    Type Name Description
    Directory to
    System.String src
    System.String dest
    IOContext context
    Overrides
    Directory.Copy(Directory, String, String, IOContext)
    | Improve this Doc View Source

    CreateOutput(String, IOContext)

    Declaration
    public override IndexOutput CreateOutput(string name, IOContext context)
    Parameters
    Type Name Description
    System.String name
    IOContext context
    Returns
    Type Description
    IndexOutput
    Overrides
    FilterDirectory.CreateOutput(String, IOContext)
    | Improve this Doc View Source

    CreateSlicer(String, IOContext)

    Declaration
    public override Directory.IndexInputSlicer CreateSlicer(string name, IOContext context)
    Parameters
    Type Name Description
    System.String name
    IOContext context
    Returns
    Type Description
    Directory.IndexInputSlicer
    Overrides
    Directory.CreateSlicer(String, IOContext)
    | Improve this Doc View Source

    GetMaxWriteMBPerSec(IOContext.UsageContext)

    See SetMaxWriteMBPerSec(Nullable<Double>, IOContext.UsageContext).

    This is a Lucene.NET EXPERIMENTAL API, use at your own risk
    Declaration
    public double GetMaxWriteMBPerSec(IOContext.UsageContext context)
    Parameters
    Type Name Description
    IOContext.UsageContext context
    Returns
    Type Description
    System.Double
    | Improve this Doc View Source

    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 null for mbPerSec to have no limit.

    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.

    This is a Lucene.NET EXPERIMENTAL API, use at your own risk
    Declaration
    public void SetMaxWriteMBPerSec(double? mbPerSec, IOContext.UsageContext context)
    Parameters
    Type Name Description
    System.Nullable<System.Double> mbPerSec
    IOContext.UsageContext context
    | Improve this Doc View Source

    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 null to have no limit.

    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.

    This is a Lucene.NET EXPERIMENTAL API, use at your own risk
    Declaration
    public void SetRateLimiter(RateLimiter mergeWriteRateLimiter, IOContext.UsageContext context)
    Parameters
    Type Name Description
    RateLimiter mergeWriteRateLimiter
    IOContext.UsageContext context

    See Also

    SetRateLimiter(RateLimiter, IOContext.UsageContext)
    • Improve this Doc
    • View Source
    Back to top Copyright © 2020 Licensed to the Apache Software Foundation (ASF)