mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-27 23:26:44 +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)
|
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
|
return nil, err
|
||||||
}
|
}
|
||||||
|
|
||||||
// Skip header entry
|
// Skip over header and body
|
||||||
headerLength, err := e.s.LengthAt(off)
|
off, err = e.s.SkipN(off, 2)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
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
|
// Read and decompress receipts
|
||||||
r, _, err := newSnappyReader(e.s, TypeCompressedReceipts, off)
|
r, _, err := newSnappyReader(e.s, TypeCompressedReceipts, off)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue