trader

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: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type NearbyTradersOffering

type NearbyTradersOffering struct {
	// contains filtered or unexported fields
}

func NewNeighborTradersOffering

func NewNeighborTradersOffering() *NearbyTradersOffering

func (*NearbyTradersOffering) Neighbors

func (neigh *NearbyTradersOffering) Neighbors() []*common.RemoteNode

func (*NearbyTradersOffering) Predecessor

func (neigh *NearbyTradersOffering) Predecessor() *common.RemoteNode

func (*NearbyTradersOffering) SetPredecessor

func (neigh *NearbyTradersOffering) SetPredecessor(newPredecessor *common.RemoteNode)

func (*NearbyTradersOffering) SetSuccessor

func (neigh *NearbyTradersOffering) SetSuccessor(newSuccessor *common.RemoteNode)

func (*NearbyTradersOffering) Successor

func (neigh *NearbyTradersOffering) Successor() *common.RemoteNode

type Trader

type Trader struct {
	nodeCommon.NodeComponent // Base component
	// contains filtered or unexported fields
}

Trader is responsible for managing offers from multiple suppliers and negotiate these offers with buyers. The resources combination that the trader can handle is described by its GUID.

func NewTrader

func NewTrader(config *configuration.Configuration, overlay external.Overlay, client external.Caravela,
	guid guid.GUID, resourcesMapping *resources.Mapping) *Trader

NewTrader creates a new "virtual" trader.

func (*Trader) AdvertiseNeighborOffer

func (trader *Trader) AdvertiseNeighborOffer(fromTrader, toNeighborTrader, traderOffering *types.Node)

Relay the offering advertise for the overlay neighbors if the trader doesn't have any available offers

func (*Trader) CreateOffer

func (trader *Trader) CreateOffer(fromSupp *types.Node, newOffer *types.Offer)

Receives a resource offer from other node (supplier) of the system

func (*Trader) GetOffers

func (trader *Trader) GetOffers(fromNode *types.Node, relay bool) []types.AvailableOffer

Returns all the offers that the trader is managing.

func (*Trader) RefreshOffersSim

func (trader *Trader) RefreshOffersSim()

Simulation

func (*Trader) RemoveOffer

func (trader *Trader) RemoveOffer(fromSupp *types.Node, offer *types.Offer)

Remove an offer from the offering table.

func (*Trader) SpreadOffersSim

func (trader *Trader) SpreadOffersSim()

Simulation

func (*Trader) Start

func (trader *Trader) Start()

func (*Trader) Stop

func (trader *Trader) Stop()

Jump to

Keyboard shortcuts

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