mirror of
https://github.com/featurebasedb/featurebase.git
synced 2026-08-28 10:54:59 +00:00
21 lines
340 B
Go
21 lines
340 B
Go
package mock
|
|
|
|
import "sync"
|
|
|
|
type ReadCloser struct {
|
|
ReadFunc func(p []byte) (int, error)
|
|
CloseFunc func() error
|
|
once sync.Once
|
|
}
|
|
|
|
func (rc *ReadCloser) Read(p []byte) (int, error) {
|
|
return rc.ReadFunc(p)
|
|
}
|
|
|
|
func (rc *ReadCloser) Close() error {
|
|
var err error = nil
|
|
rc.once.Do(func() {
|
|
err = rc.CloseFunc()
|
|
})
|
|
return err
|
|
}
|