mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-22 04:36:42 +00:00
degug in Slice()
This commit is contained in:
parent
1b807ec24a
commit
045f8dd04b
1 changed files with 14 additions and 3 deletions
|
|
@ -101,6 +101,7 @@ type ByteSliceWriter struct {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (self *ByteSliceWriter) Slice(from, to int64) (slice []byte) {
|
func (self *ByteSliceWriter) Slice(from, to int64) (slice []byte) {
|
||||||
|
dpaLogger.DebugDetailf("bottom line %v:%v (%v-%v)", from, to, self.off, self.limit)
|
||||||
if from >= 0 && to <= self.limit {
|
if from >= 0 && to <= self.limit {
|
||||||
slice = self.b[from:to]
|
slice = self.b[from:to]
|
||||||
}
|
}
|
||||||
|
|
@ -221,15 +222,19 @@ func (s *ChunkWriter) Write(p []byte) (n int, err error) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *ChunkReader) Slice(from, to int64) []byte {
|
func (s *ChunkReader) Slice(from, to int64) []byte {
|
||||||
|
dpaLogger.DebugDetailf("%v %v %v", s.base, s.off, s.limit)
|
||||||
if sl, ok := s.r.(Sliced); ok {
|
if sl, ok := s.r.(Sliced); ok {
|
||||||
return sl.Slice(from, to)
|
dpaLogger.DebugDetailf("%v-%v", s.base+from, s.base+to)
|
||||||
|
return sl.Slice(s.base+from, s.base+to)
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *ChunkWriter) Slice(from, to int64) (b []byte) {
|
func (s *ChunkWriter) Slice(from, to int64) (b []byte) {
|
||||||
|
dpaLogger.DebugDetailf("base: %v %v %v", s.base, s.off, s.limit)
|
||||||
if sl, ok := s.w.(Sliced); ok {
|
if sl, ok := s.w.(Sliced); ok {
|
||||||
b = sl.Slice(from, to)
|
dpaLogger.DebugDetailf("%v-%v", s.base+from, s.base+to)
|
||||||
|
b = sl.Slice(s.base+from, s.base+to)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
@ -268,8 +273,13 @@ func (s *ChunkWriter) WriteAt(p []byte, off int64) (n int, err error) {
|
||||||
func (s *ChunkWriter) ReadFrom(r io.Reader) (n int64, err error) {
|
func (s *ChunkWriter) ReadFrom(r io.Reader) (n int64, err error) {
|
||||||
var m int
|
var m int
|
||||||
// if byte slice is available
|
// if byte slice is available
|
||||||
if slice := s.Slice(s.off, s.limit); slice != nil {
|
if slice := s.Slice(s.off-s.base, s.limit-s.base); slice != nil {
|
||||||
|
dpaLogger.DebugDetailf("readfrom %v + %v-%v", s.base, s.off-s.base, s.limit-s.base)
|
||||||
m, err = r.Read(slice)
|
m, err = r.Read(slice)
|
||||||
|
if err != nil {
|
||||||
|
dpaLogger.Debugf("%v (m%v)", err, m)
|
||||||
|
}
|
||||||
|
dpaLogger.DebugDetailf("read slice %x", slice)
|
||||||
} else {
|
} else {
|
||||||
b := make([]byte, s.limit-s.off)
|
b := make([]byte, s.limit-s.off)
|
||||||
_, err = r.Read(b)
|
_, err = r.Read(b)
|
||||||
|
|
@ -299,5 +309,6 @@ func (r *ChunkReader) WriteTo(w io.Writer) (n int64, err error) {
|
||||||
if m != len(b) && err == nil {
|
if m != len(b) && err == nil {
|
||||||
err = io.ErrShortWrite
|
err = io.ErrShortWrite
|
||||||
}
|
}
|
||||||
|
// w
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue