Documentation
¶
Index ¶
- func RegisterOffersStrategy(strategyName string, factory ManageOffersFactory)
- type DefaultChordOffersManager
- func (man *DefaultChordOffersManager) CreateOffer(newOfferID int64, availableResources resources.Resources) (*supplierOffer, error)
- func (man *DefaultChordOffersManager) FindOffers(targetResources resources.Resources) []types.AvailableOffer
- func (man *DefaultChordOffersManager) Init(resourcesMap *resources.Mapping, overlay external.Overlay, ...)
- type ManageOffersFactory
- type OffersManager
- type Supplier
- func (sup *Supplier) AvailableResources() types.Resources
- func (sup *Supplier) FindOffers(targetResources resources.Resources) []types.AvailableOffer
- func (sup *Supplier) MaximumResources() types.Resources
- func (sup *Supplier) ObtainResources(offerID int64, resourcesNecessary resources.Resources) bool
- func (sup *Supplier) RefreshOffer(fromTrader *types.Node, refreshOffer *types.Offer) bool
- func (sup *Supplier) ReturnResources(releasedResources resources.Resources)
- func (sup *Supplier) Start()
- func (sup *Supplier) Stop()
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func RegisterOffersStrategy ¶
func RegisterOffersStrategy(strategyName string, factory ManageOffersFactory)
Types ¶
type DefaultChordOffersManager ¶
type DefaultChordOffersManager struct {
// contains filtered or unexported fields
}
func (*DefaultChordOffersManager) CreateOffer ¶
func (man *DefaultChordOffersManager) CreateOffer(newOfferID int64, availableResources resources.Resources) (*supplierOffer, error)
func (*DefaultChordOffersManager) FindOffers ¶
func (man *DefaultChordOffersManager) FindOffers(targetResources resources.Resources) []types.AvailableOffer
type ManageOffersFactory ¶
type ManageOffersFactory func(config *configuration.Configuration) (OffersManager, error)
type OffersManager ¶
type OffersManager interface {
Init(resourcesMap *resources.Mapping, overlay external.Overlay, remoteClient external.Caravela)
FindOffers(targetResources resources.Resources) []types.AvailableOffer
CreateOffer(newOfferID int64, availableResources resources.Resources) (*supplierOffer, error)
}
func CreateOffersStrategy ¶
func CreateOffersStrategy(config *configuration.Configuration) OffersManager
type Supplier ¶
type Supplier struct {
nodeCommon.NodeComponent // Base component
// contains filtered or unexported fields
}
Supplier handles all the logic of managing the node own resources, advertising them into the system.
func NewSupplier ¶
func NewSupplier(config *configuration.Configuration, overlay external.Overlay, client external.Caravela, resourcesMap *resources.Mapping, maxResources resources.Resources) *Supplier
NewSupplier creates a new supplier component, that manages the local resources.
func (*Supplier) AvailableResources ¶
Simulation
func (*Supplier) FindOffers ¶
func (sup *Supplier) FindOffers(targetResources resources.Resources) []types.AvailableOffer
Find a list active Offers that best suit the target resources given.
func (*Supplier) MaximumResources ¶
Simulation
func (*Supplier) ObtainResources ¶
Tries to obtain a subset of the resources represented by the given offer in order to deploy a container. It updates the respective trader that manages the offer.
func (*Supplier) RefreshOffer ¶
Tries refresh an offer. Called when a refresh message was received.
func (*Supplier) ReturnResources ¶
Release resources of an used offer into the supplier again in order to offer them again into the system.
Click to show internal directories.
Click to hide internal directories.