supplier

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 27, 2018 License: GPL-3.0 Imports: 15 Imported by: 0

Documentation

Index

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

func (*DefaultChordOffersManager) Init

func (man *DefaultChordOffersManager) Init(resourcesMap *resources.Mapping, overlay external.Overlay,
	remoteClient external.Caravela)

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

func (sup *Supplier) AvailableResources() types.Resources

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

func (sup *Supplier) MaximumResources() types.Resources

Simulation

func (*Supplier) ObtainResources

func (sup *Supplier) ObtainResources(offerID int64, resourcesNecessary resources.Resources) bool

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

func (sup *Supplier) RefreshOffer(fromTrader *types.Node, refreshOffer *types.Offer) bool

Tries refresh an offer. Called when a refresh message was received.

func (*Supplier) ReturnResources

func (sup *Supplier) ReturnResources(releasedResources resources.Resources)

Release resources of an used offer into the supplier again in order to offer them again into the system.

func (*Supplier) Start

func (sup *Supplier) Start()

func (*Supplier) Stop

func (sup *Supplier) Stop()

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL