mirror of
https://github.com/rclone/rclone.git
synced 2024-12-23 07:29:35 +01:00
accounting: add HasBuffer method to Account
This commit is contained in:
parent
15402e46c9
commit
05ddef117a
@ -109,6 +109,14 @@ func (acc *Account) WithBuffer() *Account {
|
||||
return acc
|
||||
}
|
||||
|
||||
// HasBuffer - returns true if this Account has an AsyncReader with a buffer
|
||||
func (acc *Account) HasBuffer() bool {
|
||||
acc.mu.Lock()
|
||||
defer acc.mu.Unlock()
|
||||
_, ok := acc.in.(*asyncreader.AsyncReader)
|
||||
return ok
|
||||
}
|
||||
|
||||
// GetReader returns the underlying io.ReadCloser under any Buffer
|
||||
func (acc *Account) GetReader() io.ReadCloser {
|
||||
acc.mu.Lock()
|
||||
|
@ -37,6 +37,7 @@ func TestNewAccountSizeName(t *testing.T) {
|
||||
assert.Equal(t, acc, stats.inProgress.get("test"))
|
||||
acc.Done()
|
||||
assert.Nil(t, stats.inProgress.get("test"))
|
||||
assert.False(t, acc.HasBuffer())
|
||||
}
|
||||
|
||||
func TestAccountWithBuffer(t *testing.T) {
|
||||
@ -44,7 +45,9 @@ func TestAccountWithBuffer(t *testing.T) {
|
||||
|
||||
stats := NewStats()
|
||||
acc := newAccountSizeName(stats, in, -1, "test")
|
||||
assert.False(t, acc.HasBuffer())
|
||||
acc.WithBuffer()
|
||||
assert.True(t, acc.HasBuffer())
|
||||
// should have a buffer for an unknown size
|
||||
_, ok := acc.in.(*asyncreader.AsyncReader)
|
||||
require.True(t, ok)
|
||||
|
Loading…
Reference in New Issue
Block a user