tarsum: TarSum is not the interface

don't export the exsisting TarSum struct and call the interface 'TarSum'
instead.

Signed-off-by: Vincent Batts <vbatts@redhat.com>
This commit is contained in:
Vincent Batts 2014-09-10 21:56:20 -04:00
parent 2d1c8bd786
commit ec01eb653d
3 changed files with 22 additions and 19 deletions

View File

@ -93,12 +93,12 @@ type Builder struct {
// both of these are controlled by the Remove and ForceRemove options in BuildOpts
TmpContainers map[string]struct{} // a map of containers used for removes
dockerfile *parser.Node // the syntax tree of the dockerfile
image string // image name for commit processing
maintainer string // maintainer name. could probably be removed.
cmdSet bool // indicates is CMD was set in current Dockerfile
context tarsum.TarSumInterface // the context is a tarball that is uploaded by the client
contextPath string // the path of the temporary directory the local context is unpacked to (server side)
dockerfile *parser.Node // the syntax tree of the dockerfile
image string // image name for commit processing
maintainer string // maintainer name. could probably be removed.
cmdSet bool // indicates is CMD was set in current Dockerfile
context tarsum.TarSum // the context is a tarball that is uploaded by the client
contextPath string // the path of the temporary directory the local context is unpacked to (server side)
}

View File

@ -167,7 +167,10 @@ func (b *Builder) runContextCommand(args []string, allowRemote bool, allowDecomp
if err != nil {
return err
}
tarSum := &tarsum.TarSum{Reader: r, DisableCompression: true}
tarSum, err := tarsum.NewTarSum(r, true, tarsum.Version0)
if err != nil {
return err
}
if _, err := io.Copy(ioutil.Discard, tarSum); err != nil {
return err
}

View File

@ -28,24 +28,24 @@ const (
// This is used for calculating checksums of layers of an image, in some cases
// including the byte payload of the image's json metadata as well, and for
// calculating the checksums for buildcache.
func NewTarSum(r io.Reader, dc bool, v Version) (TarSumInterface, error) {
func NewTarSum(r io.Reader, dc bool, v Version) (TarSum, error) {
if _, ok := tarSumVersions[v]; !ok {
return nil, ErrVersionNotImplemented
}
return &TarSum{Reader: r, DisableCompression: dc, tarSumVersion: v}, nil
return &tarSum{Reader: r, DisableCompression: dc, tarSumVersion: v}, nil
}
// TarSumInterface is the generic interface for calculating fixed time
// TarSum is the generic interface for calculating fixed time
// checksums of a tar archive
type TarSumInterface interface {
type TarSum interface {
io.Reader
GetSums() map[string]string
Sum([]byte) string
Version() Version
}
// TarSum struct is the structure for a Version0 checksum calculation
type TarSum struct {
// tarSum struct is the structure for a Version0 checksum calculation
type tarSum struct {
io.Reader
tarR *tar.Reader
tarW *tar.Writer
@ -62,11 +62,11 @@ type TarSum struct {
tarSumVersion Version // this field is not exported so it can not be mutated during use
}
func (ts TarSum) Version() Version {
func (ts tarSum) Version() Version {
return ts.tarSumVersion
}
func (ts TarSum) selectHeaders(h *tar.Header, v Version) (set [][2]string) {
func (ts tarSum) selectHeaders(h *tar.Header, v Version) (set [][2]string) {
for _, elem := range [][2]string{
{"name", h.Name},
{"mode", strconv.Itoa(int(h.Mode))},
@ -89,7 +89,7 @@ func (ts TarSum) selectHeaders(h *tar.Header, v Version) (set [][2]string) {
return
}
func (ts *TarSum) encodeHeader(h *tar.Header) error {
func (ts *tarSum) encodeHeader(h *tar.Header) error {
for _, elem := range ts.selectHeaders(h, ts.Version()) {
if _, err := ts.h.Write([]byte(elem[0] + elem[1])); err != nil {
return err
@ -98,7 +98,7 @@ func (ts *TarSum) encodeHeader(h *tar.Header) error {
return nil
}
func (ts *TarSum) Read(buf []byte) (int, error) {
func (ts *tarSum) Read(buf []byte) (int, error) {
if ts.gz == nil {
ts.bufTar = bytes.NewBuffer([]byte{})
ts.bufGz = bytes.NewBuffer([]byte{})
@ -197,7 +197,7 @@ func (ts *TarSum) Read(buf []byte) (int, error) {
return ts.bufGz.Read(buf)
}
func (ts *TarSum) Sum(extra []byte) string {
func (ts *tarSum) Sum(extra []byte) string {
var sums []string
for _, sum := range ts.sums {
@ -217,6 +217,6 @@ func (ts *TarSum) Sum(extra []byte) string {
return checksum
}
func (ts *TarSum) GetSums() map[string]string {
func (ts *tarSum) GetSums() map[string]string {
return ts.sums
}