From: Sergey Matveev Date: Mon, 28 Nov 2022 09:44:03 +0000 (+0300) Subject: Simplify With ReadAt/WriteAt X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=b547eba1a0fd8162ce97962e5a364ad1e1a79ac4;p=btrtrc.git Simplify With ReadAt/WriteAt --- diff --git a/cmd/btrtrc/pc.go b/cmd/btrtrc/pc.go index 6f81923b..56e174a4 100644 --- a/cmd/btrtrc/pc.go +++ b/cmd/btrtrc/pc.go @@ -1,7 +1,6 @@ package main import ( - "io" "os" "sync" @@ -26,12 +25,8 @@ func (self *BFPieceCompletion) Get(pk metainfo.PieceKey) (c storage.Completion, return } defer fd.Close() - _, err = fd.Seek(int64(pk.Index), io.SeekStart) - if err != nil { - return - } b := []byte{0} - _, err = fd.Read(b) + _, err = fd.ReadAt(b, int64(pk.Index)) if err != nil { return } @@ -58,14 +53,11 @@ func (self *BFPieceCompletion) Set(pk metainfo.PieceKey, complete bool) error { return err } defer fd.Close() - if _, err = fd.Seek(int64(pk.Index), io.SeekStart); err != nil { - return err - } b := []byte{'1'} if !complete { b[0] = '0' } - if _, err = fd.Write(b); err != nil { + if _, err = fd.WriteAt(b, int64(pk.Index)); err != nil { return err } return nil