Lots of various golint fixes

Changes some names to match go conventions
Comments all exported methods
Removes dot imports
This commit is contained in:
Brian Bland 2014-11-17 15:44:07 -08:00
parent b5cf681458
commit 88795e0a14
19 changed files with 417 additions and 257 deletions

View file

@ -173,6 +173,7 @@ func (driver *StorageDriverClient) Stop() error {
// Implement the storagedriver.StorageDriver interface over IPC
// GetContent retrieves the content stored at "path" as a []byte.
func (driver *StorageDriverClient) GetContent(path string) ([]byte, error) {
if err := driver.exited(); err != nil {
return nil, err
@ -204,6 +205,7 @@ func (driver *StorageDriverClient) GetContent(path string) ([]byte, error) {
return contents, nil
}
// PutContent stores the []byte content at a location designated by "path".
func (driver *StorageDriverClient) PutContent(path string, contents []byte) error {
if err := driver.exited(); err != nil {
return err
@ -230,6 +232,8 @@ func (driver *StorageDriverClient) PutContent(path string, contents []byte) erro
return nil
}
// ReadStream retrieves an io.ReadCloser for the content stored at "path" with a
// given byte offset.
func (driver *StorageDriverClient) ReadStream(path string, offset uint64) (io.ReadCloser, error) {
if err := driver.exited(); err != nil {
return nil, err
@ -255,6 +259,8 @@ func (driver *StorageDriverClient) ReadStream(path string, offset uint64) (io.Re
return response.Reader, nil
}
// WriteStream stores the contents of the provided io.ReadCloser at a location
// designated by the given path.
func (driver *StorageDriverClient) WriteStream(path string, offset, size uint64, reader io.ReadCloser) error {
if err := driver.exited(); err != nil {
return err
@ -280,6 +286,8 @@ func (driver *StorageDriverClient) WriteStream(path string, offset, size uint64,
return nil
}
// CurrentSize retrieves the curernt size in bytes of the object at the given
// path.
func (driver *StorageDriverClient) CurrentSize(path string) (uint64, error) {
if err := driver.exited(); err != nil {
return 0, err
@ -305,6 +313,8 @@ func (driver *StorageDriverClient) CurrentSize(path string) (uint64, error) {
return response.Position, nil
}
// List returns a list of the objects that are direct descendants of the given
// path.
func (driver *StorageDriverClient) List(path string) ([]string, error) {
if err := driver.exited(); err != nil {
return nil, err
@ -330,6 +340,8 @@ func (driver *StorageDriverClient) List(path string) ([]string, error) {
return response.Keys, nil
}
// Move moves an object stored at sourcePath to destPath, removing the original
// object.
func (driver *StorageDriverClient) Move(sourcePath string, destPath string) error {
if err := driver.exited(); err != nil {
return err
@ -355,6 +367,7 @@ func (driver *StorageDriverClient) Move(sourcePath string, destPath string) erro
return nil
}
// Delete recursively deletes all objects stored at "path" and its subpaths.
func (driver *StorageDriverClient) Delete(path string) error {
if err := driver.exited(); err != nil {
return err

View file

@ -9,10 +9,10 @@ import (
"github.com/docker/libchan"
)
// IPCStorageDriver is the interface which IPC storage drivers must implement. As external storage
// StorageDriver is the interface which IPC storage drivers must implement. As external storage
// drivers may be defined to use a different version of the storagedriver.StorageDriver interface,
// we use an additional version check to determine compatiblity.
type IPCStorageDriver interface {
type StorageDriver interface {
// Version returns the storagedriver.StorageDriver interface version which this storage driver
// implements, which is used to determine driver compatibility
Version() (storagedriver.Version, error)
@ -36,23 +36,25 @@ type Request struct {
ResponseChannel libchan.Sender
}
type responseError struct {
// ResponseError is a serializable error type.
type ResponseError struct {
Type string
Message string
}
// ResponseError wraps an error in a serializable struct containing the error's type and message
func ResponseError(err error) *responseError {
// WrapError wraps an error in a serializable struct containing the error's type
// and message.
func WrapError(err error) *ResponseError {
if err == nil {
return nil
}
return &responseError{
return &ResponseError{
Type: reflect.TypeOf(err).String(),
Message: err.Error(),
}
}
func (err *responseError) Error() string {
func (err *ResponseError) Error() string {
return fmt.Sprintf("%s: %s", err.Type, err.Message)
}
@ -61,38 +63,38 @@ func (err *responseError) Error() string {
// VersionResponse is a response for a Version request
type VersionResponse struct {
Version storagedriver.Version
Error *responseError
Error *ResponseError
}
// ReadStreamResponse is a response for a ReadStream request
type ReadStreamResponse struct {
Reader io.ReadCloser
Error *responseError
Error *ResponseError
}
// WriteStreamResponse is a response for a WriteStream request
type WriteStreamResponse struct {
Error *responseError
Error *ResponseError
}
// CurrentSizeResponse is a response for a CurrentSize request
type CurrentSizeResponse struct {
Position uint64
Error *responseError
Error *ResponseError
}
// ListResponse is a response for a List request
type ListResponse struct {
Keys []string
Error *responseError
Error *ResponseError
}
// MoveResponse is a response for a Move request
type MoveResponse struct {
Error *responseError
Error *ResponseError
}
// DeleteResponse is a response for a Delete request
type DeleteResponse struct {
Error *responseError
Error *ResponseError
}

View file

@ -33,7 +33,9 @@ func StorageDriverServer(driver storagedriver.StorageDriver) error {
} else {
for {
receiver, err := transport.WaitReceiveChannel()
if err != nil {
if err == io.EOF {
return nil
} else if err != nil {
panic(err)
}
go receive(driver, receiver)
@ -49,7 +51,9 @@ func receive(driver storagedriver.StorageDriver, receiver libchan.Receiver) {
for {
var request Request
err := receiver.Receive(&request)
if err != nil {
if err == io.EOF {
return
} else if err != nil {
panic(err)
}
go handleRequest(driver, request)
@ -70,7 +74,7 @@ func handleRequest(driver storagedriver.StorageDriver, request Request) {
content, err := driver.GetContent(path)
var response ReadStreamResponse
if err != nil {
response = ReadStreamResponse{Error: ResponseError(err)}
response = ReadStreamResponse{Error: WrapError(err)}
} else {
response = ReadStreamResponse{Reader: ioutil.NopCloser(bytes.NewReader(content))}
}
@ -87,7 +91,7 @@ func handleRequest(driver storagedriver.StorageDriver, request Request) {
err = driver.PutContent(path, contents)
}
response := WriteStreamResponse{
Error: ResponseError(err),
Error: WrapError(err),
}
err = request.ResponseChannel.Send(&response)
if err != nil {
@ -100,7 +104,7 @@ func handleRequest(driver storagedriver.StorageDriver, request Request) {
reader, err := driver.ReadStream(path, offset)
var response ReadStreamResponse
if err != nil {
response = ReadStreamResponse{Error: ResponseError(err)}
response = ReadStreamResponse{Error: WrapError(err)}
} else {
response = ReadStreamResponse{Reader: ioutil.NopCloser(reader)}
}
@ -117,7 +121,7 @@ func handleRequest(driver storagedriver.StorageDriver, request Request) {
reader, _ := request.Parameters["Reader"].(io.ReadCloser)
err := driver.WriteStream(path, offset, size, reader)
response := WriteStreamResponse{
Error: ResponseError(err),
Error: WrapError(err),
}
err = request.ResponseChannel.Send(&response)
if err != nil {
@ -128,7 +132,7 @@ func handleRequest(driver storagedriver.StorageDriver, request Request) {
position, err := driver.CurrentSize(path)
response := CurrentSizeResponse{
Position: position,
Error: ResponseError(err),
Error: WrapError(err),
}
err = request.ResponseChannel.Send(&response)
if err != nil {
@ -139,7 +143,7 @@ func handleRequest(driver storagedriver.StorageDriver, request Request) {
keys, err := driver.List(path)
response := ListResponse{
Keys: keys,
Error: ResponseError(err),
Error: WrapError(err),
}
err = request.ResponseChannel.Send(&response)
if err != nil {
@ -150,7 +154,7 @@ func handleRequest(driver storagedriver.StorageDriver, request Request) {
destPath, _ := request.Parameters["DestPath"].(string)
err := driver.Move(sourcePath, destPath)
response := MoveResponse{
Error: ResponseError(err),
Error: WrapError(err),
}
err = request.ResponseChannel.Send(&response)
if err != nil {
@ -160,7 +164,7 @@ func handleRequest(driver storagedriver.StorageDriver, request Request) {
path, _ := request.Parameters["Path"].(string)
err := driver.Delete(path)
response := DeleteResponse{
Error: ResponseError(err),
Error: WrapError(err),
}
err = request.ResponseChannel.Send(&response)
if err != nil {