Merge branch 'master' into 6260-test-datamanager
[arvados.git] / services / keepstore / volume.go
index f581b28fbf897f31badee2f2c4e4100392c5457e..64fea34bfe1c32ad9b6b6b33a74c82f8b9f0252f 100644 (file)
@@ -5,16 +5,20 @@
 package main
 
 import (
+       "io"
        "sync/atomic"
        "time"
 )
 
 type Volume interface {
+       // Get a block. IFF the returned error is nil, the caller must
+       // put the returned slice back into the buffer pool when it's
+       // finished with it.
        Get(loc string) ([]byte, error)
        Put(loc string, block []byte) error
        Touch(loc string) error
        Mtime(loc string) (time.Time, error)
-       Index(prefix string) string
+       IndexTo(prefix string, writer io.Writer) error
        Delete(loc string) error
        Status() *VolumeStatus
        String() string