1
0
mirror of https://github.com/minio/mc.git synced 2025-11-13 12:22:45 +03:00

Revert "unstruct client functions"

This commit is contained in:
Harshavardhana
2015-04-29 21:28:28 -07:00
parent 3ec4e85f92
commit 1ceed3dc20
10 changed files with 63 additions and 54 deletions

View File

@@ -22,17 +22,17 @@ import (
"github.com/minio-io/minio/pkg/iodine"
)
type sourceReader struct {
reader io.ReadCloser
length int64
md5hex string
// cpMethods - methods only valid for cp
type cpMethods interface {
getSourceReader(sourceURL string, sourceConfig *hostConfig) (reader io.ReadCloser, length int64, md5hex string, err error)
getTargetWriter(targetURL string, targetConfig *hostConfig, md5Hex string, length int64) (io.WriteCloser, error)
}
// getSourceReaders -
func getSourceReaders(sourceURLConfigMap map[string]*hostConfig) (map[string]sourceReader, error) {
func getSourceReaders(methods cpMethods, sourceURLConfigMap map[string]*hostConfig) (map[string]sourceReader, error) {
sourceURLReaderMap := make(map[string]sourceReader)
for sourceURL, sourceConfig := range sourceURLConfigMap {
reader, length, md5hex, err := getSourceReader(sourceURL, sourceConfig)
reader, length, md5hex, err := methods.getSourceReader(sourceURL, sourceConfig)
if err != nil {
for _, sourceReader := range sourceURLReaderMap {
sourceReader.reader.Close()