From d7f00194b5bc1b09d32b9d20f07956ae16248b50 Mon Sep 17 00:00:00 2001 From: "Frederick F. Kautz IV" Date: Tue, 17 Mar 2015 22:31:59 -0700 Subject: [PATCH] Adding interfaces for implementing against --- pkg/donutbox/donutbox.go | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/pkg/donutbox/donutbox.go b/pkg/donutbox/donutbox.go index d517f6fbe..424a3d54f 100644 --- a/pkg/donutbox/donutbox.go +++ b/pkg/donutbox/donutbox.go @@ -19,6 +19,24 @@ type DonutBox interface { GetObjectMetadata(bucket, object string, column uint) (map[string]string, error) } +// Bucket contains major operations on a bucket +type Bucket interface { + AddDisk(Disk) error + RemoveDisk(Disk) + GetDisk(i uint) (Disk, error) + GetDisks() ([]Disk, error) + GetMetadata() (map[string]string, error) + ListObjects(prefix string) ([]string, error) + SetMetadata(metadata map[string]string) error +} + +// Disk represents major operations on a bucket's disk +type Disk interface { + GetObjectMetadata(object string) (map[string]string, error) + GetObjectReader(object string) (io.Reader, error) + GetObjectWriter(object string) (*NewObject, error) +} + // Result is a result for async tasks type Result struct { Err error