datawriter

package
v0.0.0-...-05bc493 Latest Latest
Warning

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

Go to latest
Published: Sep 20, 2023 License: MIT Imports: 20 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultGenesisSplitDepth = 2

Variables

This section is empty.

Functions

func JetDropCreate

func JetDropCreate(dropCfg DropInfo) smachine.CreateFunc

func LineCreate

func LineCreate(lineRef reference.Global) smachine.CreateFunc

func PlashCreate

func PlashCreate() smachine.CreateFunc

func RegisterJetDrop

func RegisterJetDrop(ctx smachine.SharedStateContext, sd *DropSharedData) bool

func RegisterLine

func RegisterLine(ctx smachine.SharedStateContext, sd *LineSharedData) bool

Types

type DependencyTracker

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

func (*DependencyTracker) AddDependencySet

func (p *DependencyTracker) AddDependencySet(deps []lineage.UnresolvedDependency, callbackFn func())

func (*DependencyTracker) GetPendingUnresolved

func (p *DependencyTracker) GetPendingUnresolved() UnresolvedDependencyMap

func (*DependencyTracker) ResolveDependency

func (p *DependencyTracker) ResolveDependency(ref reference.Global)

type DropCatalog

type DropCatalog struct{}

func (DropCatalog) Create

func (DropCatalog) Get

type DropCataloger

type DropCataloger interface {
	Create(ctx smachine.ExecutionContext, dropCfg DropInfo, terminateFn smachine.TerminationHandlerFunc) DropDataLink
	Get(ctx smachine.SharedStateContext, dropID jet.DropID) DropDataLink
}
type DropDataLink struct {
	smachine.SharedDataLink
}

func (DropDataLink) MustAccess

func (v DropDataLink) MustAccess(fn func(sd *DropSharedData))

func (DropDataLink) TryAccess

func (v DropDataLink) TryAccess(fn func(sd *DropSharedData)) smachine.BoolDecision

type DropInfo

type DropInfo struct {
	ID     jet.DropID
	PrevID jet.DropID
	LastOp JetTreeOp
	// LegID jet.LegID // TODO LegID
	AssistData *PlashSharedData
}

type DropSharedData

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

DropSharedData stores shared information about Drop WARNING! This struct is accessed directly, no synchronization guarantees are provided.

func (*DropSharedData) GetFinalizeSync

func (p *DropSharedData) GetFinalizeSync() smachine.SyncLink

func (*DropSharedData) GetReadySync

func (p *DropSharedData) GetReadySync() smachine.SyncLink

func (*DropSharedData) SetPrevDropReport

func (p *DropSharedData) SetPrevDropReport(report catalog.DropReport)

type GenesisKey

type GenesisKey string
const GenesisKeyValue GenesisKey = "genesis"

type JetDropKey

type JetDropKey jet.DropID

type JetTreeOp

type JetTreeOp uint8
const (
	JetGenesis JetTreeOp = iota
	JetStraight
	JetGenesisSplit
	JetSplit
	JetMerge
)

type LineCatalog

type LineCatalog struct{}

func (LineCatalog) Get

func (LineCatalog) GetOrCreate

type LineCataloger

type LineCataloger interface {
	GetOrCreate(ctx smachine.ExecutionContext, lineRef reference.Global) LineDataLink
	Get(ctx smachine.ExecutionContext, lineRef reference.Global) LineDataLink
}
type LineDataLink struct {
	smachine.SharedDataLink
}

func (LineDataLink) PrepareAccess

func (v LineDataLink) PrepareAccess(fn func(sd *LineSharedData) (wakeup bool)) smachine.SharedDataAccessor

func (LineDataLink) TryAccess

func (v LineDataLink) TryAccess(ctx smachine.ExecutionContext, fn func(sd *LineSharedData) (wakeup bool)) smachine.Decision

type LineKey

type LineKey reference.Global

type LineSharedData

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

func (*LineSharedData) AddRecap

func (*LineSharedData) CollectSignatures

func (p *LineSharedData) CollectSignatures(set inspectsvc.InspectedRecordSet, canBePartial bool) int

func (*LineSharedData) DropID

func (p *LineSharedData) DropID() jet.DropID

func (*LineSharedData) FindSequence

func (p *LineSharedData) FindSequence(selector dataextractor.Selector, findFn func(record lineage.ReadRecord) bool) (bool, *buildersvc.Future)

func (*LineSharedData) FindWithTracker

func (p *LineSharedData) FindWithTracker(ref reference.Holder) (bool, *buildersvc.Future, lineage.ReadRecord)

func (*LineSharedData) GetActiveSync

func (p *LineSharedData) GetActiveSync() smachine.SyncLink

func (*LineSharedData) GetLimiter

func (p *LineSharedData) GetLimiter() smachine.SyncLink

func (*LineSharedData) IsValid

func (p *LineSharedData) IsValid() bool

func (*LineSharedData) IsValidForRead

func (p *LineSharedData) IsValidForRead() bool

func (*LineSharedData) LineRef

func (p *LineSharedData) LineRef() reference.Global

func (*LineSharedData) RequestDependencies

func (p *LineSharedData) RequestDependencies(br *lineage.BundleResolver, wakeup smachine.BargeInNoArgHolder)

func (*LineSharedData) TrimStages

func (p *LineSharedData) TrimStages()

func (*LineSharedData) TryApplyRecordSet

type PlashCatalog

type PlashCatalog struct{}

func (PlashCatalog) Get

func (PlashCatalog) GetOrCreate

type PlashCataloger

type PlashCataloger interface {
	GetOrCreate(ctx smachine.ExecutionContext, pn pulse.Number) *PlashSharedData
	Get(ctx smachine.SharedStateContext, pn pulse.Number) *PlashSharedData
}

type PlashKey

type PlashKey pulse.Number

type PlashSharedData

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

PlashSharedData stores shared information about Plash WARNING! This struct is accessed directly, no synchronization guarantees are provided.

func (*PlashSharedData) GetDrop

func (p *PlashSharedData) GetDrop(ref reference.Holder) jet.DropID

func (*PlashSharedData) GetPulseRange

func (p *PlashSharedData) GetPulseRange() pulse.Range

func (*PlashSharedData) GetReadySync

func (p *PlashSharedData) GetReadySync() smachine.SyncLink

type SMDropBuilder

type SMDropBuilder struct {
	smachine.StateMachineDeclTemplate
	// contains filtered or unexported fields
}

func (*SMDropBuilder) GetInitStateFor

func (p *SMDropBuilder) GetInitStateFor(smachine.StateMachine) smachine.InitFunc

func (*SMDropBuilder) GetStateMachineDeclaration

func (p *SMDropBuilder) GetStateMachineDeclaration() smachine.StateMachineDeclaration

func (*SMDropBuilder) InjectDependencies

func (p *SMDropBuilder) InjectDependencies(_ smachine.StateMachine, _ smachine.SlotLink, injector injector.DependencyInjector)

type SMGenesis

type SMGenesis struct {
	smachine.StateMachineDeclTemplate
	// contains filtered or unexported fields
}

func (*SMGenesis) GetInitStateFor

func (p *SMGenesis) GetInitStateFor(smachine.StateMachine) smachine.InitFunc

func (*SMGenesis) GetStateMachineDeclaration

func (p *SMGenesis) GetStateMachineDeclaration() smachine.StateMachineDeclaration

func (*SMGenesis) InjectDependencies

func (p *SMGenesis) InjectDependencies(_ smachine.StateMachine, _ smachine.SlotLink, injector injector.DependencyInjector)

type SMLine

type SMLine struct {
	smachine.StateMachineDeclTemplate
	// contains filtered or unexported fields
}

func (*SMLine) GetInitStateFor

func (p *SMLine) GetInitStateFor(smachine.StateMachine) smachine.InitFunc

func (*SMLine) GetStateMachineDeclaration

func (p *SMLine) GetStateMachineDeclaration() smachine.StateMachineDeclaration

func (*SMLine) InjectDependencies

func (p *SMLine) InjectDependencies(_ smachine.StateMachine, _ smachine.SlotLink, injector injector.DependencyInjector)

type SMPlash

type SMPlash struct {
	smachine.StateMachineDeclTemplate
	// contains filtered or unexported fields
}

func (*SMPlash) GetInitStateFor

func (p *SMPlash) GetInitStateFor(smachine.StateMachine) smachine.InitFunc

func (*SMPlash) GetStateMachineDeclaration

func (p *SMPlash) GetStateMachineDeclaration() smachine.StateMachineDeclaration

func (*SMPlash) InjectDependencies

func (p *SMPlash) InjectDependencies(_ smachine.StateMachine, _ smachine.SlotLink, injector injector.DependencyInjector)

type SubSMDirtyReader

type SubSMDirtyReader struct {
	smachine.StateMachineDeclTemplate
	// contains filtered or unexported fields
}

func (*SubSMDirtyReader) GetInitStateFor

func (*SubSMDirtyReader) GetStateMachineDeclaration

func (p *SubSMDirtyReader) GetStateMachineDeclaration() smachine.StateMachineDeclaration

func (*SubSMDirtyReader) GetSubroutineInitState

func (*SubSMDirtyReader) InjectDependencies

func (p *SubSMDirtyReader) InjectDependencies(_ smachine.StateMachine, _ smachine.SlotLink, injector injector.DependencyInjector)

type UnresolvedDependencyMap

type UnresolvedDependencyMap = map[reference.Global]lineage.UnresolvedDependency

Jump to

Keyboard shortcuts

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