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(Int64) whenever they want to read bytes or write bytes.

    Inheritance
    System.Object
    RateLimiter
    RateLimiter.SimpleRateLimiter
    Namespace: Lucene.Net.Store
    Assembly: Lucene.Net.dll
    Syntax
    public abstract class RateLimiter : object

    Properties

    | Improve this Doc View Source

    MbPerSec

    The current mb per second rate limit.

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

    Methods

    | Improve this Doc View Source

    Pause(Int64)

    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
    System.Int64 bytes
    Returns
    Type Description
    System.Int64

    the pause time in nano seconds

    | Improve this Doc View Source

    SetMbPerSec(Double)

    Sets an updated mb per second rate limit.

    Declaration
    public abstract void SetMbPerSec(double mbPerSec)
    Parameters
    Type Name Description
    System.Double mbPerSec
    • Improve this Doc
    • View Source
    Back to top Copyright © 2020 Licensed to the Apache Software Foundation (ASF)