Return io.ReadCloser from interface (#209)
Kopia returns io.ReadCloser which implies that some objects may need to reclaim resources. Expose that functionality here.
This commit is contained in:
parent
0e4e9e8fd6
commit
bf267a5478
@ -28,7 +28,7 @@ type DataCollection interface {
|
|||||||
// that can be consumed as a stream (it embeds io.Reader)
|
// that can be consumed as a stream (it embeds io.Reader)
|
||||||
type DataStream interface {
|
type DataStream interface {
|
||||||
// Returns an io.Reader for the DataStream
|
// Returns an io.Reader for the DataStream
|
||||||
ToReader() io.Reader
|
ToReader() io.ReadCloser
|
||||||
// Provides a unique identifier for this data
|
// Provides a unique identifier for this data
|
||||||
UUID() string
|
UUID() string
|
||||||
}
|
}
|
||||||
@ -103,6 +103,6 @@ func (ed *ExchangeData) UUID() string {
|
|||||||
return ed.id
|
return ed.id
|
||||||
}
|
}
|
||||||
|
|
||||||
func (ed *ExchangeData) ToReader() io.Reader {
|
func (ed *ExchangeData) ToReader() io.ReadCloser {
|
||||||
return bytes.NewReader(ed.message)
|
return io.NopCloser(bytes.NewReader(ed.message))
|
||||||
}
|
}
|
||||||
|
|||||||
@ -43,7 +43,7 @@ func (medc *MockExchangeDataCollection) NextItem() (connector.DataStream, error)
|
|||||||
medc.messagesRead++
|
medc.messagesRead++
|
||||||
// We can plug in whatever data we want here (can be an io.Reader to a test data file if needed)
|
// We can plug in whatever data we want here (can be an io.Reader to a test data file if needed)
|
||||||
m := []byte("test message")
|
m := []byte("test message")
|
||||||
return &MockExchangeData{uuid.NewString(), bytes.NewReader(m)}, nil
|
return &MockExchangeData{uuid.NewString(), io.NopCloser(bytes.NewReader(m))}, nil
|
||||||
}
|
}
|
||||||
return nil, io.EOF
|
return nil, io.EOF
|
||||||
}
|
}
|
||||||
@ -51,13 +51,13 @@ func (medc *MockExchangeDataCollection) NextItem() (connector.DataStream, error)
|
|||||||
// ExchangeData represents a single item retrieved from exchange
|
// ExchangeData represents a single item retrieved from exchange
|
||||||
type MockExchangeData struct {
|
type MockExchangeData struct {
|
||||||
id string
|
id string
|
||||||
reader io.Reader
|
reader io.ReadCloser
|
||||||
}
|
}
|
||||||
|
|
||||||
func (med *MockExchangeData) UUID() string {
|
func (med *MockExchangeData) UUID() string {
|
||||||
return med.id
|
return med.id
|
||||||
}
|
}
|
||||||
|
|
||||||
func (med *MockExchangeData) ToReader() io.Reader {
|
func (med *MockExchangeData) ToReader() io.ReadCloser {
|
||||||
return med.reader
|
return med.reader
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user