mirror of
https://github.com/davidallendj/magellan.git
synced 2025-12-20 03:27:03 -07:00
28 lines
486 B
Go
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]) {
|
|
|
|
}
|