/* Writes all of our bytes to the target DataOutput. */ func (s *BytesStore) writeTo(out util.DataOutput) error { for _, block := range s.blocks { err := out.WriteBytes(block) if err != nil { return err } } return nil }
/* Copy the current contents of this buffer to the named output. */ func (out *RAMOutputStream) WriteTo(output util.DataOutput) error { err := out.Flush() if err != nil { return err } end := out.file.length pos := int64(0) buffer := 0 for pos < end { length := BUFFER_SIZE nextPos := pos + int64(length) if nextPos > end { // at the last buffer length = int(end - pos) } err = output.WriteBytes(out.file.Buffer(buffer)[:length]) if err != nil { return err } buffer++ pos = nextPos } return nil }