testplant

package
v0.0.0-...-db5d468 Latest Latest
Warning

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

Go to latest
Published: Nov 29, 2023 License: BSD-2-Clause Imports: 7 Imported by: 0

Documentation

Index

Constants

View Source
const MAX_P_UNIT = 30000

Variables

This section is empty.

Functions

func LogSleep

func LogSleep(logMu, logSigma float64, unit time.Duration)

Convenience function for sleeping

Types

type Deserialiser

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

implements Messenger

func NewDeserialiser

func NewDeserialiser(filename string) (*Deserialiser, error)

func (*Deserialiser) Initial

func (d *Deserialiser) Initial() uint

func (*Deserialiser) Start

func (d *Deserialiser) Start(receiver chan struct{})

func (*Deserialiser) Wait

func (d *Deserialiser) Wait()

type Generator

type Generator struct {
	sync.Mutex // For kill
	// contains filtered or unexported fields
}

func NewGenerator

func NewGenerator(plant Plant, logMu, logSigma float64, unit time.Duration) *Generator

func (*Generator) Burst

func (g *Generator) Burst(relMu, size uint)

func (*Generator) IncreaseLogMu

func (g *Generator) IncreaseLogMu(delta float64)

func (*Generator) Kill

func (g *Generator) Kill()

func (*Generator) Start

func (g *Generator) Start()

type Manager

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

func NewManager

func NewManager(mu_p0, sigma_p0 uint, unit time.Duration) *Manager

func (*Manager) Add

func (m *Manager) Add(messages uint)

func (*Manager) Beta

func (m *Manager) Beta() uint

func (*Manager) DXY

func (m *Manager) DXY(unit time.Duration) (dx, dy float64)

func (*Manager) Message

func (m *Manager) Message() chan struct{}

func (*Manager) MuP

func (m *Manager) MuP() (float64, bool)

func (*Manager) Q

func (m *Manager) Q() uint

func (*Manager) SetB

func (m *Manager) SetB() chan float64

func (*Manager) X

func (m *Manager) X() uint

func (*Manager) XmY

func (m *Manager) XmY() uint

func (*Manager) Y

func (m *Manager) Y() uint

type Messenger

type Messenger interface {
	Start()
}

type Plant

type Plant interface {
	Message() chan struct{}
}

type Queue

type Queue struct {
	Send, Recv chan struct{}
	// contains filtered or unexported fields
}

func NewQueue

func NewQueue() *Queue

func (*Queue) Add

func (q *Queue) Add(messages uint)

type Serialiser

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

implements Plant

func NewSerialiser

func NewSerialiser(filename string) *Serialiser

func (*Serialiser) Close

func (s *Serialiser) Close() error

func (*Serialiser) Message

func (s *Serialiser) Message() chan struct{}

func (*Serialiser) Start

func (s *Serialiser) Start(initial uint) error

type Worker

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

func NewWorker

func NewWorker(q *Queue, p chan uint, mu_p0, sigma_p0 uint, unit time.Duration) *Worker

func (*Worker) Kill

func (w *Worker) Kill()

Jump to

Keyboard shortcuts

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