github.com/petermattis/pebble@v0.0.0-20190905164901-ab51a2166067/internal/randvar/randvar.go (about)

     1  // Copyright 2019 The LevelDB-Go and Pebble Authors. All rights reserved. Use
     2  // of this source code is governed by a BSD-style license that can be found in
     3  // the LICENSE file.
     4  
     5  package randvar
     6  
     7  // Static models a random variable that pulls from a distribution with static
     8  // bounds
     9  type Static interface {
    10  	Uint64() uint64
    11  }
    12  
    13  // Dynamic models a random variable that pulls from a distribution with an
    14  // upper bound that can change dynamically using the IncMax method.
    15  type Dynamic interface {
    16  	Static
    17  
    18  	// Increment the max value the variable will return.
    19  	IncMax(delta int)
    20  }