mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-27 15:16:43 +00:00
use SkipN method
This commit is contained in:
parent
5348b311ca
commit
e3dc6563dd
2 changed files with 14 additions and 10 deletions
|
|
@ -219,3 +219,15 @@ func (r *Reader) FindAll(want uint16) ([]*Entry, error) {
|
|||
off += int64(headerSize + length)
|
||||
}
|
||||
}
|
||||
|
||||
// SkipN skips `n` entries starting from `offset` and returns the new offset.
|
||||
func (r *Reader) SkipN(offset int64, n uint64) (int64, error) {
|
||||
for i := uint64(0); i < n; i++ {
|
||||
length, err := r.LengthAt(offset)
|
||||
if err != nil {
|
||||
return 0, err
|
||||
}
|
||||
offset += length
|
||||
}
|
||||
return offset, nil
|
||||
}
|
||||
|
|
|
|||
|
|
@ -187,19 +187,11 @@ func (e *Era) GetReceipts(num uint64) (types.Receipts, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
// Skip header entry
|
||||
headerLength, err := e.s.LengthAt(off)
|
||||
// Skip over header and body
|
||||
off, err = e.s.SkipN(off, 2)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
off += headerLength
|
||||
|
||||
// Skip body entry
|
||||
bodyLength, err := e.s.LengthAt(off)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
off += bodyLength
|
||||
|
||||
// Read and decompress receipts
|
||||
r, _, err := newSnappyReader(e.s, TypeCompressedReceipts, off)
|
||||
|
|
|
|||
Loading…
Reference in a new issue