magellan/internal/cache/storage.go
2024-08-07 13:15:16 -06:00

28 lines
486 B
Go

package cache
import "github.com/google/uuid"
type Storage[T any] interface {
Save(id uuid.UUID, val T, varargs ...T) error
Get(id uuid.UUID) (T, error)
Update(id uuid.UUID, val T) error
Delete(id uuid.UUID) error
}
type Compute struct{}
type BMC struct{}
type Node[T any] struct {
}
type NodeStorage struct {
Storage[Node[Compute]]
}
type BMCStorage struct {
Storage[Node[BMC]]
}
func (ns *NodeStorage) Save(id uuid.UUID, val Node[Compute], varargs ...Node[Compute]) {
}