settlement

package
v0.3.1 Latest Latest
Warning

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

Go to latest
Published: Oct 6, 2020 License: BSD-3-Clause Imports: 3 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrPeerNoSettlements = errors.New("no settlements for peer")
)

Functions

This section is empty.

Types

type Interface

type Interface interface {
	// Pay initiates a payment to the given peer
	// It should return without error it is likely that the payment worked
	Pay(ctx context.Context, peer swarm.Address, amount uint64) error
	// TotalSent returns the total amount sent to a peer
	TotalSent(peer swarm.Address) (totalSent uint64, err error)
	// TotalReceived returns the total amount received from a peer
	TotalReceived(peer swarm.Address) (totalSent uint64, err error)
	// SettlementsSent returns sent settlements for each individual known peer
	SettlementsSent() (map[string]uint64, error)
	// SettlementsReceived returns received settlements for each individual known peer
	SettlementsReceived() (map[string]uint64, error)
	// SetPaymentObserver sets the PaymentObserver to notify
	SetPaymentObserver(observer PaymentObserver)
}

Interface is the interface used by Accounting to trigger settlement

type PaymentObserver

type PaymentObserver interface {
	// NotifyPayment is called when a payment from peer was successfully received
	NotifyPayment(peer swarm.Address, amount uint64) error
}

PaymentObserver is the interface Settlement uses to notify other components of an incoming payment

Directories

Path Synopsis
Package pseudosettle implements a pretend settlement protocol where nodes send pretend payment messages consisting only of the payment amount.
Package pseudosettle implements a pretend settlement protocol where nodes send pretend payment messages consisting only of the payment amount.
pb

Jump to

Keyboard shortcuts

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