pulsemanager

package
v0.8.4 Latest Latest
Warning

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

Go to latest
Published: Feb 26, 2019 License: Apache-2.0 Imports: 27 Imported by: 0

Documentation

Overview

Package pulsemanager is responsible for all pulse operations.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewpulseStoragePmMock added in v0.7.5

func NewpulseStoragePmMock(t minimock.Tester) *pulseStoragePmMock

NewpulseStoragePmMock returns a mock for github.com/insolar/insolar/ledger/pulsemanager.pulseStoragePm

Types

type ActiveListSwapper added in v0.7.5

type ActiveListSwapper interface {
	MoveSyncToActive(ctx context.Context) error
}

type PulseManager

type PulseManager struct {
	LR                         core.LogicRunner                `inject:""`
	Bus                        core.MessageBus                 `inject:""`
	NodeNet                    core.NodeNetwork                `inject:""`
	JetCoordinator             core.JetCoordinator             `inject:""`
	GIL                        core.GlobalInsolarLock          `inject:""`
	CryptographyService        core.CryptographyService        `inject:""`
	PlatformCryptographyScheme core.PlatformCryptographyScheme `inject:""`
	RecentStorageProvider      recentstorage.Provider          `inject:""`
	ActiveListSwapper          ActiveListSwapper               `inject:""`
	PulseStorage               pulseStoragePm                  `inject:""`
	HotDataWaiter              artifactmanager.HotDataWaiter   `inject:""`
	JetStorage                 storage.JetStorage              `inject:""`
	DropStorage                storage.DropStorage             `inject:""`
	ObjectStorage              storage.ObjectStorage           `inject:""`
	NodeSetter                 nodes.Setter                    `inject:""`
	Nodes                      nodes.Accessor                  `inject:""`
	PulseTracker               storage.PulseTracker            `inject:""`
	ReplicaStorage             storage.ReplicaStorage          `inject:""`
	DBContext                  storage.DBContext               `inject:""`
	StorageCleaner             storage.Cleaner                 `inject:""`
	// contains filtered or unexported fields
}

PulseManager implements core.PulseManager.

func NewPulseManager

func NewPulseManager(conf configuration.Ledger) *PulseManager

NewPulseManager creates PulseManager instance.

func (*PulseManager) Set

func (m *PulseManager) Set(ctx context.Context, newPulse core.Pulse, persist bool) error

Set set's new pulse and closes current jet drop.

func (*PulseManager) Start added in v0.6.3

func (m *PulseManager) Start(ctx context.Context) error

Start starts pulse manager, spawns replication goroutine under a hood.

func (*PulseManager) Stop added in v0.6.3

func (m *PulseManager) Stop(ctx context.Context) error

Stop stops PulseManager. Waits replication goroutine is done.

Jump to

Keyboard shortcuts

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