Skip to content

Commit

Permalink
Merge pull request minio#236 from fkautz/pr_out_adding_data_writer
Browse files Browse the repository at this point in the history
Adding data writer
  • Loading branch information
abperiasamy committed Mar 1, 2015
2 parents 359af56 + 7414dc9 commit 6515678
Showing 1 changed file with 24 additions and 3 deletions.
27 changes: 24 additions & 3 deletions pkg/storage/donut/data/data_v1/data.go
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
package data_v1

import "errors"
import (
"bytes"
"encoding/binary"
"encoding/gob"
"io"
)

type DataHeader struct {
Key string
Expand All @@ -23,6 +28,22 @@ type EncoderParams struct {
Technique EncoderTechnique
}

func Write() error {
return errors.New("Not Implemented")
func Write(target io.Writer, header DataHeader, data io.Reader) error {
var headerBuffer bytes.Buffer
// encode header
encoder := gob.NewEncoder(&headerBuffer)
encoder.Encode(header)
// write length of header
if err := binary.Write(target, binary.LittleEndian, headerBuffer.Len()); err != nil {
return err
}
// write encoded header
if _, err := io.Copy(target, &headerBuffer); err != nil {
return err
}
// write data
if _, err := io.Copy(target, data); err != nil {
return err
}
return nil
}

0 comments on commit 6515678

Please sign in to comment.