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.
Inherited Members
      System.Object.Equals(System.Object)
    
    
      System.Object.Equals(System.Object, System.Object)
    
    
      System.Object.GetHashCode()
    
    
      System.Object.GetType()
    
    
      System.Object.MemberwiseClone()
    
    
      System.Object.ReferenceEquals(System.Object, System.Object)
    
    
      System.Object.ToString()
    
  Namespace: Lucene.Net.Store
Assembly: Lucene.Net.dll
Syntax
public abstract class RateLimiterProperties
| Improve this Doc View SourceMbPerSec
The current mb per second rate limit.
Declaration
public abstract double MbPerSec { get; }Property Value
| Type | Description | 
|---|---|
| System.Double | 
Methods
| Improve this Doc View SourcePause(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 | 
SetMbPerSec(Double)
Sets an updated mb per second rate limit.
Declaration
public abstract void SetMbPerSec(double mbPerSec)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Double | mbPerSec |