priority

package
v0.11.0 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2022 License: GPL-3.0 Imports: 14 Imported by: 0

Documentation

Overview

Package priority implements the priority protocol that resolves arbitrary cluster wide priorities.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Consensus

type Consensus interface {
	ProposePriority(context.Context, Instance, *pbv1.PriorityResult) error
	SubscribePriority(func(context.Context, Instance, *pbv1.PriorityResult) error)
}

type Instance added in v0.11.0

type Instance proto.Message

Instance identifies an instance of the priority protocol.

type Prioritiser

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

Prioritiser resolves cluster wide priorities.

func NewForT

func NewForT(tcpNode host.Host, peers []peer.ID, minRequired int, sendFunc p2p.SendReceiveFunc, registerHandlerFunc p2p.RegisterHandlerFunc,
	consensus Consensus, msgValidator msgValidator,
	consensusTimeout time.Duration, tickerProvider tickerProvider,
) *Prioritiser

func (*Prioritiser) Prioritise

func (p *Prioritiser) Prioritise(ctx context.Context, msg *pbv1.PriorityMsg) error

Prioritise starts a new prioritisation instance for the provided message or returns an error.

func (*Prioritiser) Run

func (p *Prioritiser) Run(ctx context.Context) error

func (*Prioritiser) Subscribe

func (p *Prioritiser) Subscribe(fn subscriber)

Subscribe registers a prioritiser output subscriber function. This is not thread safe and MUST NOT be called after Run.

type Priority added in v0.11.0

type Priority proto.Message

Priority is one of many grouped by a Topic being prioritised in an Instance.

type Topic added in v0.11.0

type Topic proto.Message

Topic groups priorities in an instance.

Jump to

Keyboard shortcuts

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