memory

package
v5.0.0-alpha.3 Latest Latest
Warning

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

Go to latest
Published: Feb 17, 2026 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

internal/storage/memory/export.go

internal/storage/memory/memory.go

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Backend

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

Backend stores mission data in memory and exports to JSON

func New

func New(cfg config.MemoryConfig) *Backend

New creates a new memory backend

func (*Backend) AddMarker

func (b *Backend) AddMarker(m *core.Marker) (uint, error)

AddMarker registers a new marker. Assigns an auto-increment ID so marker state updates can reference it. Returns the assigned ID.

func (*Backend) AddSoldier

func (b *Backend) AddSoldier(s *core.Soldier) error

AddSoldier registers a new soldier. The soldier's ID is their ObjectID (game identifier).

func (*Backend) AddVehicle

func (b *Backend) AddVehicle(v *core.Vehicle) error

AddVehicle registers a new vehicle. The vehicle's ID is their ObjectID (game identifier).

func (*Backend) BuildExport

func (b *Backend) BuildExport() v1.Export

BuildExport creates a v1 export from the current mission data. This is safe for concurrent use.

func (*Backend) Close

func (b *Backend) Close() error

Close cleans up resources

func (*Backend) DeleteMarker

func (b *Backend) DeleteMarker(dm *core.DeleteMarker) error

DeleteMarker sets the end frame for a marker, marking it as deleted at that frame

func (*Backend) EndMission

func (b *Backend) EndMission() error

EndMission finalizes and exports the mission data

func (*Backend) GetExportMetadata

func (b *Backend) GetExportMetadata() core.UploadMetadata

GetExportMetadata returns metadata about the last export. If a mission is active (before EndMission), computes metadata from live data. After EndMission, returns cached metadata from the export.

func (*Backend) GetExportedFilePath

func (b *Backend) GetExportedFilePath() string

GetExportedFilePath returns the path to the last exported file.

func (*Backend) Init

func (b *Backend) Init() error

Init initializes the backend

func (*Backend) RecordAce3DeathEvent

func (b *Backend) RecordAce3DeathEvent(e *core.Ace3DeathEvent) error

RecordAce3DeathEvent records an ACE3 death event

func (*Backend) RecordAce3UnconsciousEvent

func (b *Backend) RecordAce3UnconsciousEvent(e *core.Ace3UnconsciousEvent) error

RecordAce3UnconsciousEvent records an ACE3 unconscious event

func (*Backend) RecordChatEvent

func (b *Backend) RecordChatEvent(e *core.ChatEvent) error

RecordChatEvent records a chat event

func (*Backend) RecordFiredEvent

func (b *Backend) RecordFiredEvent(e *core.FiredEvent) error

RecordFiredEvent records a fired event. SoldierID must be set to the soldier's ObjectID.

func (*Backend) RecordGeneralEvent

func (b *Backend) RecordGeneralEvent(e *core.GeneralEvent) error

RecordGeneralEvent records a general event

func (*Backend) RecordHitEvent

func (b *Backend) RecordHitEvent(e *core.HitEvent) error

RecordHitEvent records a hit event

func (*Backend) RecordKillEvent

func (b *Backend) RecordKillEvent(e *core.KillEvent) error

RecordKillEvent records a kill event

func (*Backend) RecordMarkerState

func (b *Backend) RecordMarkerState(s *core.MarkerState) error

RecordMarkerState records a marker state update

func (*Backend) RecordProjectileEvent

func (b *Backend) RecordProjectileEvent(e *core.ProjectileEvent) error

RecordProjectileEvent records a raw projectile event

func (*Backend) RecordRadioEvent

func (b *Backend) RecordRadioEvent(e *core.RadioEvent) error

RecordRadioEvent records a radio event

func (*Backend) RecordSoldierState

func (b *Backend) RecordSoldierState(s *core.SoldierState) error

RecordSoldierState records a soldier state update. SoldierID must be set to the soldier's ObjectID.

func (*Backend) RecordTelemetryEvent

func (b *Backend) RecordTelemetryEvent(e *core.TelemetryEvent) error

RecordTelemetryEvent records a telemetry event.

func (*Backend) RecordTimeState

func (b *Backend) RecordTimeState(t *core.TimeState) error

RecordTimeState records a time synchronization state

func (*Backend) RecordVehicleState

func (b *Backend) RecordVehicleState(v *core.VehicleState) error

RecordVehicleState records a vehicle state update. VehicleID must be set to the vehicle's ObjectID.

func (*Backend) StartMission

func (b *Backend) StartMission(mission *core.Mission, world *core.World) error

StartMission begins recording a new mission

type MarkerRecord

type MarkerRecord struct {
	Marker core.Marker
	States []core.MarkerState
}

MarkerRecord groups a marker with all its state changes

type SoldierRecord

type SoldierRecord struct {
	Soldier     core.Soldier
	States      []core.SoldierState
	FiredEvents []core.FiredEvent
}

SoldierRecord groups a soldier with all its time-series data

type VehicleRecord

type VehicleRecord struct {
	Vehicle core.Vehicle
	States  []core.VehicleState
}

VehicleRecord groups a vehicle with all its time-series data

Directories

Path Synopsis
export
v1
Package v1 contains the v1 export format for OCAP2 mission data.
Package v1 contains the v1 export format for OCAP2 mission data.

Jump to

Keyboard shortcuts

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