memory

package
v5.0.0-alpha.1 Latest Latest
Warning

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

Go to latest
Published: Feb 14, 2026 License: MIT Imports: 12 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) error

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

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(name string, endFrame uint)

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() storage.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) GetMarkerByName

func (b *Backend) GetMarkerByName(name string) (*core.Marker, bool)

GetMarkerByName looks up a marker by name

func (*Backend) GetSoldierByObjectID

func (b *Backend) GetSoldierByObjectID(ocapID uint16) (*core.Soldier, bool)

GetSoldierByObjectID looks up a soldier by their ObjectID

func (*Backend) GetVehicleByObjectID

func (b *Backend) GetVehicleByObjectID(ocapID uint16) (*core.Vehicle, bool)

GetVehicleByObjectID looks up a vehicle by its ObjectID

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) RecordRadioEvent

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

RecordRadioEvent records a radio event

func (*Backend) RecordServerFpsEvent

func (b *Backend) RecordServerFpsEvent(e *core.ServerFpsEvent) error

RecordServerFpsEvent records a server FPS 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) 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