Class SessionState
The overall state of a race session at any given time. This includes data needed to fully represent the race.
Inherited Members
Namespace: RedMist.TimingCommon.Models
Assembly: RedMist.TimingCommon.dll
Syntax
[MessagePackObject(false)]
[GeneratePatch]
public class SessionState
Constructors
View SourceSessionState()
Declaration
public SessionState()
Properties
View SourceAnnouncements
Session announcements as indicated by the timing system.
Declaration
[Key(27)]
[MaxLength(500)]
public List<Announcement> Announcements { get; set; }
Property Value
| Type | Description |
|---|---|
| List<Announcement> |
AverageRaceSpeed
Gets or sets the average speed of the race, expressed as a string, e.g. 130.456 mph.
Declaration
[MaxLength(11)]
[Key(23)]
public string? AverageRaceSpeed { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
CarPositions
Represents the current position and status of each car in the event.
Declaration
[Key(14)]
[MaxLength(500)]
public List<CarPosition> CarPositions { get; set; }
Property Value
| Type | Description |
|---|---|
| List<CarPosition> |
ClassColors
Class colors in hexadecimal format #RRGGBB (e.g., "#FF0000" for red). Each color corresponds to a racing class for visual identification.
Declaration
[Key(26)]
[MaxLength(50)]
public Dictionary<string, string> ClassColors { get; set; }
Property Value
| Type | Description |
|---|---|
| Dictionary<string, string> |
ClassOrder
Gets or sets the mapping of class names to their corresponding order values.
Declaration
[Key(29)]
[MaxLength(50)]
public Dictionary<string, string> ClassOrder { get; set; }
Property Value
| Type | Description |
|---|---|
| Dictionary<string, string> |
CurrentFlag
Current flag state for the event.
Declaration
[Key(15)]
public Flags CurrentFlag { get; set; }
Property Value
| Type | Description |
|---|---|
| Flags |
EventEntries
These are the signed up entries indicated by the timing system. They may not be the same as the cars that actually participated in the event.
Declaration
[Key(13)]
[MaxLength(500)]
public List<EventEntry> EventEntries { get; set; }
Property Value
| Type | Description |
|---|---|
| List<EventEntry> |
EventId
Redmist ID for the event.
Declaration
[Key(0)]
public int EventId { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
EventName
Event name as provided by the organizer.
Declaration
[MaxLength(512)]
[Key(1)]
public string EventName { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
FlagDurations
Flag states for the event, including durations.
Declaration
[Key(16)]
[MaxLength(100)]
public List<FlagDuration> FlagDurations { get; set; }
Property Value
| Type | Description |
|---|---|
| List<FlagDuration> |
GreenLaps
Number of laps the session has been under green. Available with Multiloop timing systems.
Declaration
[Key(18)]
public int? GreenLaps { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
GreenTimeMs
Amount of time in milliseconds the session has been under green. Available with Multiloop timing systems.
Declaration
[Key(17)]
public int? GreenTimeMs { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
IsArchived
Gets or sets a value indicating whether this session is historical or archived.
Declaration
[Key(31)]
public bool IsArchived { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
IsLive
Indicates whether the organizer is connected and sending data for the event.
Declaration
[Key(12)]
public bool IsLive { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
IsPracticeQualifying
Whether the current session is a practice qualifying session. This is is not guaranteed to be accurate and comes from the session name.
Declaration
[Key(8)]
public bool IsPracticeQualifying { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
IsSimulation
Indicates whether this is a real event or a simulation/replay/test event.
Declaration
[Key(30)]
public bool IsSimulation { get; set; }
Property Value
| Type | Description |
|---|---|
| bool |
LapsToGo
Optional number of laps to go if the race is lap based.
Declaration
[Key(4)]
public int LapsToGo { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
LastUpdated
Last time the session state was updated.
Declaration
[Key(28)]
public DateTime? LastUpdated { get; set; }
Property Value
| Type | Description |
|---|---|
| DateTime? |
LeadChanges
Count of overall lead changes in the session. Available with Multiloop timing systems.
Declaration
[Key(24)]
public int? LeadChanges { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
LocalTimeOfDay
Gets or sets the local time of day as a string. This is 24 hour format HH:mm:ss.
Declaration
[MaxLength(8)]
[Key(6)]
public string LocalTimeOfDay { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
LocalTimeZoneOffset
The event's local time zone offset from UTC in hours as indicated by the organizer's system time.
Declaration
[Key(11)]
public double LocalTimeZoneOffset { get; set; }
Property Value
| Type | Description |
|---|---|
| double |
NumberOfYellows
Number of yellow flag periods in the session. Available with Multiloop timing systems.
Declaration
[Key(21)]
public int? NumberOfYellows { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
RedTimeMs
Amount of time in milliseconds the session has been under red. Available with Multiloop timing systems.
Declaration
[Key(22)]
public int? RedTimeMs { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
RunningRaceTime
Gets or sets the amount of time a race has been running. Format is HH:mm:ss.
Declaration
[MaxLength(8)]
[Key(7)]
public string RunningRaceTime { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Sections
Track sections as indicated by the timing system.
Declaration
[Key(25)]
[MaxLength(5)]
public List<Section> Sections { get; set; }
Property Value
| Type | Description |
|---|---|
| List<Section> |
SessionEndTime
When the session ended according to the timing system change to another session or timeout of data being received, such as at the end of the race.
Declaration
[Key(10)]
public DateTime? SessionEndTime { get; set; }
Property Value
| Type | Description |
|---|---|
| DateTime? |
SessionId
Session, or run, is the current part of the event being timed such as in individual race, practice, or qualifying session. This is the ID provided by the timing system.
Declaration
[Key(2)]
public int SessionId { get; set; }
Property Value
| Type | Description |
|---|---|
| int |
SessionName
Session name as provided by the timing system.
Declaration
[MaxLength(40)]
[Key(3)]
public string SessionName { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
SessionStartTime
When the session started according to the the first time data was received from the timing system for the session.
Declaration
[Key(9)]
public DateTime SessionStartTime { get; set; }
Property Value
| Type | Description |
|---|---|
| DateTime |
TimeToGo
Optional time of the session remaining if the event is time based. Format is HH:mm:ss.
Declaration
[MaxLength(10)]
[Key(5)]
public string TimeToGo { get; set; }
Property Value
| Type | Description |
|---|---|
| string |
Remarks
Orbits has been seen to have a negative seconds value preceding the start of a race, i.e. HH:mm:-ss
TrackPrecipitationPerc
Estimated precipitation on the track as a percentage. Value of 0 means no chance of precipitation, 100 means certain precipitation.
Declaration
[Key(33)]
public int? TrackPrecipitationPerc { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
TrackTempDegF
Estimated temperature of the track in degrees Fahrenheit.
Declaration
[Key(32)]
public int? TrackTempDegF { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
YellowLaps
Number of laps the session has been under yellow. Available with Multiloop timing systems.
Declaration
[Key(20)]
public int? YellowLaps { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |
YellowTimeMs
Amount of time in milliseconds the session has been under yellow. Available with Multiloop timing systems.
Declaration
[Key(19)]
public int? YellowTimeMs { get; set; }
Property Value
| Type | Description |
|---|---|
| int? |