spacedb

package
v0.0.0-...-e2be02a Latest Latest
Warning

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

Go to latest
Published: Jun 24, 2021 License: GPL-3.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TimeOnlyRoot = m3space.DistAndTime(-2)
	TimeError    = m3space.DistAndTime(-3)
)
View Source
const (
	SpacesTable = "spaces"
	EventsTable = "events"
	NodesTable  = "nodes"
)
View Source
const (
	SelectSpacePerId int = iota
	DeleteSpace
	UpdateMaxTimeAndCoord
)
View Source
const (
	SelectEventPerId int = iota
	SelectEventsPerSpace
	UpdateMaxNodeTime
	DeleteAllEvents
)
View Source
const (
	SelectNodesAt int = iota
	SelectNodesBetween
	DeleteAllNodes
	GetNodeIdPerPathNodeId
	CountNodesPerEventBetween
	CountNodesPerSpaceBetween
)

Variables

View Source
var Log = m3util.NewLogger("spacedb", m3util.INFO)
View Source
var LogRun = m3util.NewDataLogger("m3run", m3util.DEBUG)
View Source
var LogStat = m3util.NewStatLogger("m3stat", m3util.INFO)

Functions

func CreateEventFromDbRows

func CreateEventFromDbRows(rows *sql.Rows, space *SpaceDb) error

func GetPyramidSize

func GetPyramidSize(points [4]m3point.Point) m3point.DInt

func GetSpaceDbCleanEnv

func GetSpaceDbCleanEnv(envId m3util.QsmEnvID) *m3db.QsmDbEnvironment

func GetSpaceDbFullEnv

func GetSpaceDbFullEnv(envId m3util.QsmEnvID) *m3db.QsmDbEnvironment

func RunSpacePyramidWithParams

func RunSpacePyramidWithParams(space *SpaceDb, pSize m3point.CInt, ctxTypes [4]m3point.GrowthType, indexes [4]int, offsets [4]int) (bool, Pyramid, m3space.DistAndTime, Pyramid, int)

func SortEventIDs

func SortEventIDs(ids *[]m3space.EventId)

Types

type EventDb

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

func (*EventDb) CreateEventNodeFromDbRows

func (evt *EventDb) CreateEventNodeFromDbRows(rows *sql.Rows) (*NodeEventDb, error)

func (*EventDb) GetActiveNodesAt

func (evt *EventDb) GetActiveNodesAt(currentTime m3space.DistAndTime) ([]m3space.NodeEventIfc, error)

func (*EventDb) GetActiveNodesDbAt

func (evt *EventDb) GetActiveNodesDbAt(currentTime m3space.DistAndTime) ([]*NodeEventDb, error)

func (*EventDb) GetCenterNode

func (evt *EventDb) GetCenterNode() m3space.NodeEventIfc

func (*EventDb) GetColor

func (evt *EventDb) GetColor() m3space.EventColor

func (*EventDb) GetCreationTime

func (evt *EventDb) GetCreationTime() m3space.DistAndTime

func (*EventDb) GetId

func (evt *EventDb) GetId() m3space.EventId

func (*EventDb) GetMaxNodeTime

func (evt *EventDb) GetMaxNodeTime() m3space.DistAndTime

func (*EventDb) GetNbNodesBetween

func (evt *EventDb) GetNbNodesBetween(from, to m3space.DistAndTime) (int, error)

func (*EventDb) GetPathContext

func (evt *EventDb) GetPathContext() m3path.PathContext

func (*EventDb) GetSpace

func (evt *EventDb) GetSpace() m3space.SpaceIfc

func (*EventDb) String

func (evt *EventDb) String() string

type NodeEventDb

type NodeEventDb struct {
	pathdb.ConnectionsStateDb
	// contains filtered or unexported fields
}

func (*NodeEventDb) GetColor

func (en *NodeEventDb) GetColor() m3space.EventColor

func (*NodeEventDb) GetCreationTime

func (en *NodeEventDb) GetCreationTime() m3space.DistAndTime

func (*NodeEventDb) GetD

func (en *NodeEventDb) GetD() m3space.DistAndTime

func (*NodeEventDb) GetEventId

func (en *NodeEventDb) GetEventId() m3space.EventId

func (*NodeEventDb) GetId

func (en *NodeEventDb) GetId() m3space.NodeEventId

func (*NodeEventDb) GetPathNode

func (en *NodeEventDb) GetPathNode() (m3path.PathNode, error)

func (*NodeEventDb) GetPathNodeId

func (en *NodeEventDb) GetPathNodeId() m3path.PathNodeId

func (*NodeEventDb) GetPoint

func (en *NodeEventDb) GetPoint() (*m3point.Point, error)

func (*NodeEventDb) GetPointId

func (en *NodeEventDb) GetPointId() m3path.PointId

func (*NodeEventDb) IsRoot

func (en *NodeEventDb) IsRoot() bool

func (*NodeEventDb) String

func (en *NodeEventDb) String() string

type NodeEventList

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

func (*NodeEventList) Add

func (nel *NodeEventList) Add(en *NodeEventDb)

func (*NodeEventList) Size

func (nel *NodeEventList) Size() int

type Pyramid

type Pyramid [4]m3point.Point

type PyramidBuilder

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

Builder to extract possible pyramids out of a list of ThreeIds that have common points

type ServerSpacePackData

type ServerSpacePackData struct {
	m3space.BaseSpacePackData
	// contains filtered or unexported fields
}

func GetServerSpacePackData

func GetServerSpacePackData(env m3util.QsmEnvironment) *ServerSpacePackData

func (*ServerSpacePackData) CreateSpace

func (spaceData *ServerSpacePackData) CreateSpace(name string, activePathNodeThreshold m3space.DistAndTime, maxTriosPerPoint int, maxPathNodesPerPoint int) (m3space.SpaceIfc, error)

func (*ServerSpacePackData) CreateTables

func (spaceData *ServerSpacePackData) CreateTables()

func (*ServerSpacePackData) DeleteSpace

func (spaceData *ServerSpacePackData) DeleteSpace(id int, name string) (int, error)

func (*ServerSpacePackData) GetAllSpaces

func (spaceData *ServerSpacePackData) GetAllSpaces() []m3space.SpaceIfc

func (*ServerSpacePackData) GetSpace

func (spaceData *ServerSpacePackData) GetSpace(id int) m3space.SpaceIfc

func (*ServerSpacePackData) LoadAllSpaces

func (spaceData *ServerSpacePackData) LoadAllSpaces() error

func (*ServerSpacePackData) TableInited

func (spaceData *ServerSpacePackData) TableInited() bool

type SpaceDb

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

func CreateSpace

func CreateSpace(env *m3db.QsmDbEnvironment,
	name string, activePathNodeThreshold m3space.DistAndTime,
	maxTriosPerPoint int, maxPathNodesPerPoint int) (*SpaceDb, error)

func (*SpaceDb) CreateEvent

func (space *SpaceDb) CreateEvent(growthType m3point.GrowthType, growthIndex int, growthOffset int,
	creationTime m3space.DistAndTime, center m3point.Point, color m3space.EventColor) (m3space.EventIfc, error)

func (*SpaceDb) CreateEventFromColor

func (space *SpaceDb) CreateEventFromColor(p m3point.Point, k m3space.EventColor) *EventDb

func (*SpaceDb) CreatePyramid

func (space *SpaceDb) CreatePyramid(pyramidSize m3point.CInt)

func (*SpaceDb) CreateSingleEventCenter

func (space *SpaceDb) CreateSingleEventCenter() *EventDb

func (*SpaceDb) GetActiveEventsAt

func (space *SpaceDb) GetActiveEventsAt(atTime m3space.DistAndTime) []m3space.EventIfc

func (*SpaceDb) GetActiveThreshold

func (space *SpaceDb) GetActiveThreshold() m3space.DistAndTime

func (*SpaceDb) GetAllEvents

func (space *SpaceDb) GetAllEvents() []m3space.EventIfc

func (*SpaceDb) GetEvent

func (space *SpaceDb) GetEvent(id m3space.EventId) m3space.EventIfc

func (*SpaceDb) GetEventIdsForMsg

func (space *SpaceDb) GetEventIdsForMsg() []int32

func (*SpaceDb) GetId

func (space *SpaceDb) GetId() int

func (*SpaceDb) GetMaxCoord

func (space *SpaceDb) GetMaxCoord() m3point.CInt

func (*SpaceDb) GetMaxNodesPerPoint

func (space *SpaceDb) GetMaxNodesPerPoint() int

func (*SpaceDb) GetMaxTime

func (space *SpaceDb) GetMaxTime() m3space.DistAndTime

func (*SpaceDb) GetMaxTriosPerPoint

func (space *SpaceDb) GetMaxTriosPerPoint() int

func (*SpaceDb) GetName

func (space *SpaceDb) GetName() string

func (*SpaceDb) GetNbEventsAt

func (space *SpaceDb) GetNbEventsAt(atTime m3space.DistAndTime) int

func (*SpaceDb) GetNbNodesBetween

func (space *SpaceDb) GetNbNodesBetween(from, to m3space.DistAndTime) (int, error)

func (*SpaceDb) GetSpaceTimeAt

func (space *SpaceDb) GetSpaceTimeAt(time m3space.DistAndTime) m3space.SpaceTimeIfc

func (*SpaceDb) String

func (space *SpaceDb) String() string

type SpaceTime

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

func (*SpaceTime) GetActiveEvents

func (st *SpaceTime) GetActiveEvents() []m3space.EventIfc

func (*SpaceTime) GetCurrentTime

func (st *SpaceTime) GetCurrentTime() m3space.DistAndTime

func (*SpaceTime) GetDisplayState

func (st *SpaceTime) GetDisplayState() string
func (st *SpaceTime) GetNbActiveLinks() int

func (*SpaceTime) GetNbActiveNodes

func (st *SpaceTime) GetNbActiveNodes() int

func (*SpaceTime) GetRuleAnalyzer

func (st *SpaceTime) GetRuleAnalyzer() *SpaceTimeRuleAnalyzer

func (*SpaceTime) GetSpace

func (st *SpaceTime) GetSpace() m3space.SpaceIfc

func (*SpaceTime) Next

func (st *SpaceTime) Next() m3space.SpaceTimeIfc

func (*SpaceTime) Populate

func (st *SpaceTime) Populate() error

func (*SpaceTime) String

func (st *SpaceTime) String() string
func (st *SpaceTime) VisitLinks(visitor m3space.SpaceTimeLinkVisitor)

func (*SpaceTime) VisitNodes

func (st *SpaceTime) VisitNodes(visitor m3space.SpaceTimeNodeVisitor)

type SpaceTimeNode

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

func (*SpaceTimeNode) GetColorMask

func (stn *SpaceTimeNode) GetColorMask() uint8

func (*SpaceTimeNode) GetConnections

func (stn *SpaceTimeNode) GetConnections() []m3point.ConnectionId

func (*SpaceTimeNode) GetEventIds

func (stn *SpaceTimeNode) GetEventIds() []m3space.EventId

func (*SpaceTimeNode) GetEventNodes

func (stn *SpaceTimeNode) GetEventNodes() []m3space.NodeEventIfc

func (*SpaceTimeNode) GetLastAccessed

func (stn *SpaceTimeNode) GetLastAccessed() m3space.DistAndTime

func (*SpaceTimeNode) GetNbEventNodes

func (stn *SpaceTimeNode) GetNbEventNodes() int

func (*SpaceTimeNode) GetNodeEvent

func (stn *SpaceTimeNode) GetNodeEvent(id m3space.EventId) m3space.NodeEventIfc

func (*SpaceTimeNode) GetPoint

func (stn *SpaceTimeNode) GetPoint() (*m3point.Point, error)

func (*SpaceTimeNode) GetPointId

func (stn *SpaceTimeNode) GetPointId() m3path.PointId

func (*SpaceTimeNode) GetSpaceTime

func (stn *SpaceTimeNode) GetSpaceTime() m3space.SpaceTimeIfc

func (*SpaceTimeNode) GetStateString

func (stn *SpaceTimeNode) GetStateString() string

func (*SpaceTimeNode) HasFreeConnections

func (stn *SpaceTimeNode) HasFreeConnections() bool

func (*SpaceTimeNode) HasRoot

func (stn *SpaceTimeNode) HasRoot() bool

func (*SpaceTimeNode) HowManyColors

func (stn *SpaceTimeNode) HowManyColors() uint8

func (*SpaceTimeNode) IsEmpty

func (stn *SpaceTimeNode) IsEmpty() bool

func (*SpaceTimeNode) IsEventAlreadyPresent

func (stn *SpaceTimeNode) IsEventAlreadyPresent(id m3space.EventId) bool

func (*SpaceTimeNode) String

func (stn *SpaceTimeNode) String() string

func (*SpaceTimeNode) VisitConnections

func (stn *SpaceTimeNode) VisitConnections(visitConn func(evtNode *NodeEventDb, connId m3point.ConnectionId, linkId m3point.Int64Id))

type SpaceTimeRuleAnalyzer

type SpaceTimeRuleAnalyzer struct {
	PointsPerThreeIds map[ThreeIds][]m3point.Point
	// contains filtered or unexported fields
}

func MakeRuleAnalyzer

func MakeRuleAnalyzer(st *SpaceTime) *SpaceTimeRuleAnalyzer

func (*SpaceTimeRuleAnalyzer) VisitNode

func (fr *SpaceTimeRuleAnalyzer) VisitNode(node m3space.SpaceTimeNodeIfc)

type ThreeIds

type ThreeIds [3]m3space.EventId

func MakeThreeIds

func MakeThreeIds(ids []m3space.EventId) []ThreeIds

Jump to

Keyboard shortcuts

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