Fork me on GitHub
  • API

    Show / Hide Table of Contents

    Class RateLimiter

    Abstract base class to rate limit IO. Typically implementations are shared across multiple IndexInputs or IndexOutputs (for example those involved all merging). Those IndexInputs and IndexOutputs would call Pause(long) whenever they want to read bytes or write bytes.

    Inheritance
    object
    RateLimiter
    RateLimiter.SimpleRateLimiter
    Inherited Members
    object.Equals(object)
    object.Equals(object, object)
    object.GetHashCode()
    object.GetType()
    object.MemberwiseClone()
    object.ReferenceEquals(object, object)
    object.ToString()
    Namespace: Lucene.Net.Store
    Assembly: Lucene.Net.dll
    Syntax
    public abstract class RateLimiter

    Properties

    MbPerSec

    The current mb per second rate limit.

    Declaration
    public abstract double MbPerSec { get; }
    Property Value
    Type Description
    double

    Methods

    Pause(long)

    Pauses, if necessary, to keep the instantaneous IO rate at or below the target.

    Note: the implementation is thread-safe

    Declaration
    public abstract long Pause(long bytes)
    Parameters
    Type Name Description
    long bytes
    Returns
    Type Description
    long

    the pause time in nano seconds

    SetMbPerSec(double)

    Sets an updated mb per second rate limit.

    Declaration
    public abstract void SetMbPerSec(double mbPerSec)
    Parameters
    Type Name Description
    double mbPerSec
    Back to top Copyright © 2024 The Apache Software Foundation, Licensed under the Apache License, Version 2.0
    Apache Lucene.Net, Lucene.Net, Apache, the Apache feather logo, and the Apache Lucene.Net project logo are trademarks of The Apache Software Foundation.
    All other marks mentioned may be trademarks or registered trademarks of their respective owners.