Documentation
¶
Overview ¶
internal/storage/storage.go
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Backend ¶
type Backend interface {
// Lifecycle
Init() error
Close() error
// Mission management
StartMission(mission *core.Mission, world *core.World) error
EndMission() error
// Entity registration (assigns ID to the passed pointer)
AddSoldier(s *core.Soldier) error
AddVehicle(v *core.Vehicle) error
AddMarker(m *core.Marker) (uint, error)
// State recording
DeleteSoldier(id uint16, frame core.Frame) error
DeleteVehicle(id uint16, frame core.Frame) error
RecordSoldierState(s *core.SoldierState) error
RecordVehicleState(v *core.VehicleState) error
RecordMarkerState(s *core.MarkerState) error
DeleteMarker(dm *core.DeleteMarker) error
// Event recording
RecordFiredEvent(e *core.FiredEvent) error
RecordProjectileEvent(e *core.ProjectileEvent) error
RecordGeneralEvent(e *core.GeneralEvent) error
RecordSectorEvent(e *core.SectorEvent) error
RecordEndMissionEvent(e *core.EndMissionEvent) error
RecordHitEvent(e *core.HitEvent) error
RecordKillEvent(e *core.KillEvent) error
RecordChatEvent(e *core.ChatEvent) error
RecordRadioEvent(e *core.RadioEvent) error
RecordTelemetryEvent(e *core.TelemetryEvent) error
RecordTimeState(t *core.TimeState) error
RecordAce3DeathEvent(e *core.Ace3DeathEvent) error
RecordAce3UnconsciousEvent(e *core.Ace3UnconsciousEvent) error
// Placed objects
AddPlacedObject(p *core.PlacedObject) error
RecordPlacedObjectEvent(e *core.PlacedObjectEvent) error
// Mission focus
SetFocusStart(frame core.Frame) error
SetFocusEnd(frame core.Frame) error
}
Backend is the interface all storage implementations must satisfy
type Uploadable ¶
type Uploadable interface {
GetExportedFilePath() string
GetExportMetadata() core.UploadMetadata
}
Uploadable is an optional interface for storage backends that produce files suitable for upload to the OCAP web frontend.
Directories
¶
| Path | Synopsis |
|---|---|
|
internal/storage/memory/export.go
|
internal/storage/memory/export.go |
|
export/v1
Package v1 contains the v1 export format for OCAP2 mission data.
|
Package v1 contains the v1 export format for OCAP2 mission data. |
|
Package postgres implements the storage.Backend interface using GORM/PostgreSQL with internal queues and a background DB writer goroutine.
|
Package postgres implements the storage.Backend interface using GORM/PostgreSQL with internal queues and a background DB writer goroutine. |
|
Package sqlitestorage implements the storage.Backend interface using an in-memory SQLite database with periodic disk dumps via VACUUM INTO.
|
Package sqlitestorage implements the storage.Backend interface using an in-memory SQLite database with periodic disk dumps via VACUUM INTO. |
Click to show internal directories.
Click to hide internal directories.