// Writes write needles to the block. func (b *SuperBlock) Writes(ns *needle.Needles) (err error) { if b.LastErr != nil { return b.LastErr } if _maxOffset-ns.IncrOffset < b.Offset { err = errors.ErrSuperBlockNoSpace return } if _, err = b.w.Write(ns.Buffer()); err == nil { err = b.flush(false) } else { b.LastErr = err return } b.Offset += ns.IncrOffset b.Size += int64(ns.TotalSize) return }