import "github.com/blueprint-uservices/blueprint/plugins/memcached"
Package memcached provides the Blueprint wiring and IR implementations of a memcached plugin that provides a Cache interface implementation via a pre-built memcached container image.
Usage: To add a memcached container named `fooCache`
PrebuiltContainer(spec, "fooCache")
- func Container(spec wiring.WiringSpec, cacheName string) string
- type MemcachedContainer
- type MemcachedGoClient
- func (node *MemcachedGoClient) AddInstantiation(builder golang.NamespaceBuilder) error
- func (node *MemcachedGoClient) AddInterfaces(builder golang.ModuleBuilder) error
- func (node *MemcachedGoClient) AddToWorkspace(builder golang.WorkspaceBuilder) error
- func (n *MemcachedGoClient) GetInterface(ctx ir.BuildContext) (service.ServiceInterface, error)
- func (node *MemcachedGoClient) ImplementsGolangNode()
- func (node *MemcachedGoClient) ImplementsGolangService()
- func (n *MemcachedGoClient) Name() string
- func (n *MemcachedGoClient) String() string
- type MemcachedInterface
func Container
func Container(spec wiring.WiringSpec, cacheName string) string
Adds a memcached container to the application that defines a cache called `cacheName` which uses the pre-built memcached process container
type MemcachedContainer
Blueprint IR Node that represents a memcached container
type MemcachedContainer struct {
backend.Cache
docker.Container
docker.ProvidesContainerInstance
InstanceName string
BindAddr *address.BindConfig
Iface *goparser.ParsedInterface
}
func (*MemcachedContainer) AddContainerInstance
func (node *MemcachedContainer) AddContainerInstance(target docker.ContainerWorkspace) error
Implements docker.ProvidesContainerInstance
func (*MemcachedContainer) GetInterface
func (node *MemcachedContainer) GetInterface(ctx ir.BuildContext) (service.ServiceInterface, error)
Implements service.ServiceNode
func (*MemcachedContainer) Name
func (n *MemcachedContainer) Name() string
Implements ir.IRNode
func (*MemcachedContainer) String
func (n *MemcachedContainer) String() string
Implements ir.IRNode
type MemcachedGoClient
Blueprint IR Node that represents a client to a memcached container
type MemcachedGoClient struct {
golang.Service
backend.Cache
InstanceName string
DialAddr *address.DialConfig
Spec *workflowspec.Service
}
func (*MemcachedGoClient) AddInstantiation
func (node *MemcachedGoClient) AddInstantiation(builder golang.NamespaceBuilder) error
Implements golang.Instantiable
func (*MemcachedGoClient) AddInterfaces
func (node *MemcachedGoClient) AddInterfaces(builder golang.ModuleBuilder) error
Implements golang.ProvidesInterface
func (*MemcachedGoClient) AddToWorkspace
func (node *MemcachedGoClient) AddToWorkspace(builder golang.WorkspaceBuilder) error
Implements golang.ProvidesModule
func (*MemcachedGoClient) GetInterface
func (n *MemcachedGoClient) GetInterface(ctx ir.BuildContext) (service.ServiceInterface, error)
Implements service.ServiceNode
func (*MemcachedGoClient) ImplementsGolangNode
func (node *MemcachedGoClient) ImplementsGolangNode()
func (*MemcachedGoClient) ImplementsGolangService
func (node *MemcachedGoClient) ImplementsGolangService()
func (*MemcachedGoClient) Name
func (n *MemcachedGoClient) Name() string
Implements ir.IRNode
func (*MemcachedGoClient) String
func (n *MemcachedGoClient) String() string
Implements ir.IRNode
type MemcachedInterface
Memcached interface exposed to other services. This interface can not be modified further.
type MemcachedInterface struct {
service.ServiceInterface
Wrapped service.ServiceInterface
}
func (*MemcachedInterface) GetMethods
func (m *MemcachedInterface) GetMethods() []service.Method
func (*MemcachedInterface) GetName
func (m *MemcachedInterface) GetName() string
Generated by gomarkdoc