github.com/loov/combiner@v0.1.0/testsuite/combiner.go (about)

     1  package testsuite
     2  
     3  type Combiner interface {
     4  	Do(op interface{})
     5  }
     6  
     7  type Runner interface {
     8  	Combiner
     9  	Run()
    10  	Close()
    11  }
    12  
    13  type AsyncCombiner interface {
    14  	Combiner
    15  	DoAsync(op interface{})
    16  }
    17  
    18  type Batcher interface {
    19  	Start()
    20  	Do(op interface{})
    21  	Finish()
    22  }
    23  
    24  // Other possible designs
    25  //   1. Include(v interface)
    26  //   2. type Op func()
    27  //   2. type Op interface { Execute() }
    28  //   3. specialized