Skip to content

Commit

Permalink
update ReadFrom and ReadFromWithConcurrency docs
Browse files Browse the repository at this point in the history
  • Loading branch information
emar-kar committed Jun 4, 2024
1 parent 5494656 commit 1629551
Showing 1 changed file with 13 additions and 0 deletions.
13 changes: 13 additions & 0 deletions client.go
Original file line number Diff line number Diff line change
Expand Up @@ -1756,6 +1756,8 @@ func (f *File) writeAt(b []byte, off int64) (written int, err error) {
// Giving a concurrency of less than one will default to the Client’s max concurrency.
//
// Otherwise, the given concurrency will be capped by the Client's max concurrency.
//
// This method is preferred over calling ReadFrom to guarantee concurrent reads/writes.
func (f *File) ReadFromWithConcurrency(r io.Reader, concurrency int) (read int64, err error) {
f.mu.Lock()
defer f.mu.Unlock()
Expand Down Expand Up @@ -1916,6 +1918,17 @@ func (f *File) readFromWithConcurrency(r io.Reader, concurrency int) (read int64
// This method is preferred over calling Write multiple times
// to maximise throughput for transferring the entire file,
// especially over high-latency links.
//
// If client uses concurrent writes, given r needs to implement one of the interfaces:
//
// Len() int
// Size() int64
// Stat() (os.FileInfo, error)
//
// or be an instance of [io.LimitedReader] to determine the number of possible
// concurrent requests. Otherwise, reads/writes are performed in nonparallel, sliced
// in chunks with the max packet size. ReadFromWithConcurrency explicit call can
// guarantee concurrent processing of the reader.
func (f *File) ReadFrom(r io.Reader) (int64, error) {
f.mu.Lock()
defer f.mu.Unlock()
Expand Down

0 comments on commit 1629551

Please sign in to comment.