Files
kata-containers/virtcontainers/store/backend.go
Samuel Ortiz ef11bf52a6 virtcontainers: store: Add a Delete API
It's going to be used to completely clean a Store away.

Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
2019-02-06 14:19:18 +01:00

52 lines
898 B
Go

// Copyright (c) 2019 Intel Corporation
//
// SPDX-License-Identifier: Apache-2.0
//
package store
import (
"context"
"fmt"
)
type backendType string
const (
filesystemBackend backendType = "filesystem"
)
const (
filesystemScheme string = "file"
)
func schemeToBackendType(scheme string) (backendType, error) {
switch scheme {
case filesystemScheme:
return filesystemBackend, nil
}
return "", fmt.Errorf("Unsupported scheme %s", scheme)
}
func newBackend(scheme string) (backend, error) {
t, err := schemeToBackendType(scheme)
if err != nil {
return nil, err
}
switch t {
case filesystemBackend:
return &filesystem{}, nil
}
return nil, fmt.Errorf("Unsupported scheme %s", scheme)
}
type backend interface {
new(ctx context.Context, path string, host string) error
delete() error
load(item Item, data interface{}) error
store(item Item, data interface{}) error
}