Show / Hide Table of Contents

Class Session

Domain entity representing a Session.

Inheritance
System.Object
SessionBase
Session
Implements
ISession
Inherited Members
SessionBase.CoverageCursor
SessionBase.EpochDate
SessionBase.Id
SessionBase.Identifier
SessionBase.Key
SessionBase.MinimumVersionToRead
SessionBase.SessionType
SessionBase.State
SessionBase.TeamId
SessionBase.TimeOfRecording
SessionBase.VersionUsedToRecord
Namespace: MESL.SqlRace.Domain
Assembly: MESL.SqlRace.Domain.dll
Syntax
public class Session : SessionBase, ISession

Fields

MinimumEventIdForGeneratedEvents

The minimum event identifier for generated events

Declaration
public const int MinimumEventIdForGeneratedEvents = 500000
Field Value
Type Description
System.Int32

Properties

ApplicationGroupNames

Gets the ApplicationGroup names available for this Session.

Declaration
public IReadOnlyCollection<string> ApplicationGroupNames { get; }
Property Value
Type Description
System.Collections.Generic.IReadOnlyCollection<System.String>

ApplicationGroups

Gets the ApplicationGroups and associated ParameterGroups available for this Session.

Declaration
public override ReadOnlyCollection<ApplicationGroup> ApplicationGroups { get; }
Property Value
Type Description
System.Collections.ObjectModel.ReadOnlyCollection<ApplicationGroup>
Overrides
SessionBase.ApplicationGroups

Associates

Gets the IAssociateCollection providing access to the associated sessions for this session.

Declaration
public override IAssociateCollection Associates { get; }
Property Value
Type Description
IAssociateCollection
Overrides
SessionBase.Associates

CanData

Gets the CAN data for requested bus.

Declaration
public override CanCollection CanData { get; }
Property Value
Type Description
CanCollection
Overrides
SessionBase.CanData

ConnectionString

Gets the connection string used to create this session.

Declaration
public override string ConnectionString { get; }
Property Value
Type Description
System.String
Overrides
SessionBase.ConnectionString

Constants

Gets the SessionDataItemsCollection<T> providing access to the Constants for this session.

Declaration
public override SessionDataItemsCollection<Constant> Constants { get; }
Property Value
Type Description
SessionDataItemsCollection<Constant>
Overrides
SessionBase.Constants

Conversions

Gets the Conversions for this Session.

Declaration
public override ReadOnlyCollection<ConversionBase> Conversions { get; }
Property Value
Type Description
System.Collections.ObjectModel.ReadOnlyCollection<ConversionBase>
Overrides
SessionBase.Conversions

CurrentConfigurationSets

Gets a List of the Configuration Sets used on this Session.

Declaration
public List<ConfigurationSet> CurrentConfigurationSets { get; }
Property Value
Type Description
System.Collections.Generic.List<ConfigurationSet>

System.Collections.Generic.List<>.

EndTime

Gets the end time of the Session in nanoseconds.

Declaration
public override long EndTime { get; }
Property Value
Type Description
System.Int64 System.Int64
Overrides
SessionBase.EndTime

ErrorDefinitions

Gets the collection of error ErrorDefinitions for this session.

Declaration
public override ReadOnlyCollection<ErrorDefinition> ErrorDefinitions { get; }
Property Value
Type Description
System.Collections.ObjectModel.ReadOnlyCollection<ErrorDefinition>
Overrides
SessionBase.ErrorDefinitions

Errors

Gets an instance of ErrorCollection providing access to error data

Declaration
public override ErrorCollection Errors { get; }
Property Value
Type Description
ErrorCollection
Overrides
SessionBase.Errors

EventDefinitions

Gets the collection of event definitions for this session.

Declaration
public override ReadOnlyCollection<EventDefinition> EventDefinitions { get; }
Property Value
Type Description
System.Collections.ObjectModel.ReadOnlyCollection<EventDefinition>
Overrides
SessionBase.EventDefinitions

Events

Gets the EventCollection providing access to event data for this Session.

Declaration
public override EventCollection Events { get; }
Property Value
Type Description
EventCollection
Overrides
SessionBase.Events

ExtendedAssociates

Declaration
public override IExtendedAssociateCollection ExtendedAssociates { get; }
Property Value
Type Description
IExtendedAssociateCollection
Overrides
SessionBase.ExtendedAssociates

FileSessionPath

Gets or sets the file session path.

Declaration
public string FileSessionPath { get; set; }
Property Value
Type Description
System.String

The file session path.

FriendlyName

Gets or sets the Friendly name for this Session.

Declaration
public string FriendlyName { get; set; }
Property Value
Type Description
System.String

System.String.

InstanceIdentifier

Gets the instance identifier.

Declaration
public override Guid InstanceIdentifier { get; }
Property Value
Type Description
System.Guid

The instance identifier.

Overrides
SessionBase.InstanceIdentifier

IsRemote

Gets a value indicating whether the session is a remote session or not.

Declaration
public bool IsRemote { get; }
Property Value
Type Description
System.Boolean

IsStartTimeValid

Gets a value indicating whether the start time is valid when the session is live

Declaration
public override bool IsStartTimeValid { get; }
Property Value
Type Description
System.Boolean
Overrides
SessionBase.IsStartTimeValid

Items

Gets the SessionDataItemsCollection<T> providing access to the Session Details for this session.

Declaration
public override SessionDataItemsCollection<SessionDataItem> Items { get; }
Property Value
Type Description
SessionDataItemsCollection<SessionDataItem>
Overrides
SessionBase.Items

LapCollection

Gets the ILapCollection providing access to Laps for this session.

Declaration
public override ILapCollection LapCollection { get; }
Property Value
Type Description
ILapCollection
Overrides
SessionBase.LapCollection

Laps

Gets the LapCollection providing access to Laps for this session.

Declaration
public override LapCollection Laps { get; protected set; }
Property Value
Type Description
LapCollection
Overrides
SessionBase.Laps

LocalTimeOfRecording

Gets the local time of recording.

Declaration
public DateTime LocalTimeOfRecording { get; }
Property Value
Type Description
System.DateTime

System.DateTime.

Maps

Gets a collection of maps for this session.

Declaration
public override MapCollection<MapBase> Maps { get; }
Property Value
Type Description
MapCollection<MapBase>
Overrides
SessionBase.Maps

Markers

Get the PersistableCollection<T> collection of Markers for this Session.

Declaration
public override PersistableCollection<Marker> Markers { get; }
Property Value
Type Description
PersistableCollection<Marker>
Overrides
SessionBase.Markers

MarkersAndLaps

Get the markers in all of the sessions combined with marker representations of the laps in the parent session.

Declaration
public IImmutableList<Marker> MarkersAndLaps { get; }
Property Value
Type Description
System.Collections.Immutable.IImmutableList<Marker>

Parameters

Gets the Parameters collection for this session.

Declaration
public override ReadOnlyCollection<ParameterBase> Parameters { get; }
Property Value
Type Description
System.Collections.ObjectModel.ReadOnlyCollection<ParameterBase>
Overrides
SessionBase.Parameters

RootPathGuid

Gets or sets the root path unique identifier.

Declaration
public Guid RootPathGuid { get; set; }
Property Value
Type Description
System.Guid

The root path unique identifier.

StartTime

Gets the start time of the session in nanoseconds.

Declaration
public override long StartTime { get; }
Property Value
Type Description
System.Int64 System.Int64
Overrides
SessionBase.StartTime

SummaryInformation

Forces the session summary to return an update.

Declaration
public SessionSummaryInformation SummaryInformation { get; }
Property Value
Type Description
SessionSummaryInformation

TelemetryDataStreamStarted

Whether The Session is now receiving data

Declaration
public override bool TelemetryDataStreamStarted { get; }
Property Value
Type Description
System.Boolean
Overrides
SessionBase.TelemetryDataStreamStarted

TimeZone

Gets the time zone in force at the time of recording.

Declaration
public string TimeZone { get; }
Property Value
Type Description
System.String

TimeZone.

Methods

AddChannelData(UInt32, Int64, Int32, Byte[])

Add Periodic Channel data to this session.

Declaration
public override void AddChannelData(uint channelId, long timestamp, int count, byte[] data)
Parameters
Type Name Description
System.UInt32 channelId

Channel Id.

System.Int64 timestamp

Timestamp of first sample of data in data.

System.Int32 count

Number of samples in the data.

System.Byte[] data

The byte data to add to the channel.

Overrides
SessionBase.AddChannelData(UInt32, Int64, Int32, Byte[])
Exceptions
Type Condition
System.ObjectDisposedException

Thrown when an attempt is made to invoke this method on a session that has been closed.

AddChannelData(UInt32, Int64, Int32, Byte[], Boolean)

Add Periodic Channel data to this session.

Declaration
public override void AddChannelData(uint channelId, long timestamp, int count, byte[] data, bool notifyClient)
Parameters
Type Name Description
System.UInt32 channelId

Channel Id.

System.Int64 timestamp

Timestamp of first sample of data in data.

System.Int32 count

Number of samples in the data.

System.Byte[] data

The byte data to add to the channel.

System.Boolean notifyClient
Overrides
SessionBase.AddChannelData(UInt32, Int64, Int32, Byte[], Boolean)
Exceptions
Type Condition
System.ObjectDisposedException

Thrown when an attempt is made to invoke this method on a session that has been closed.

AddRowData(Int64, IList<UInt32>, Byte[])

Adds Slow Row Channel data for a sequence of channels to this Session.

Declaration
public override void AddRowData(long timestamp, IList<uint> channelIds, byte[] data)
Parameters
Type Name Description
System.Int64 timestamp

The timestamp for all the samples in the data.

System.Collections.Generic.IList<System.UInt32> channelIds

The list of channel ids related to this row of data.

System.Byte[] data

The data i.e. a packet of samples for channels in the row at the specified timestamp.

Overrides
SessionBase.AddRowData(Int64, IList<UInt32>, Byte[])
Exceptions
Type Condition
System.ObjectDisposedException

Thrown when an attempt is made to invoke this method on a session that has been closed.

AddRowData(Int64, IList<UInt32>, Byte[], Boolean)

Adds Slow Row Channel data for a sequence of channels to this Session.

Declaration
public override void AddRowData(long timestamp, IList<uint> channelIds, byte[] data, bool notifyClient)
Parameters
Type Name Description
System.Int64 timestamp

The timestamp for all the samples in the data.

System.Collections.Generic.IList<System.UInt32> channelIds

The list of channel ids related to this row of data.

System.Byte[] data

The data i.e. a packet of samples for channels in the row at the specified timestamp.

System.Boolean notifyClient
Overrides
SessionBase.AddRowData(Int64, IList<UInt32>, Byte[], Boolean)
Exceptions
Type Condition
System.ObjectDisposedException

Thrown when an attempt is made to invoke this method on a session that has been closed.

AddRowData(UInt32, Int64[], Byte[], Int32, Boolean)

Adds a set of row data samples to the specified channel.

Declaration
public override void AddRowData(uint channelId, long[] timestamps, byte[] data, int channelSizeInBytes, bool notifyClient)
Parameters
Type Name Description
System.UInt32 channelId

The channel identifier.

System.Int64[] timestamps

The timestamps.

System.Byte[] data

The data. Length must be at least the number of timestamps multiplied by channelSizeInBytes.

System.Int32 channelSizeInBytes

Size of the channel.

System.Boolean notifyClient

if set to true [notify client].

Overrides
SessionBase.AddRowData(UInt32, Int64[], Byte[], Int32, Boolean)
Remarks

Row data can be added to a live session, and to an historic session if it does not clash with existing timestamps.

AddScalarData(UInt32, Byte[])

Adds a scalar data value from a DTV Offload to this Session.

Declaration
public override void AddScalarData(uint channelId, byte[] data)
Parameters
Type Name Description
System.UInt32 channelId

The channel identifier.

System.Byte[] data

The data.

Overrides
SessionBase.AddScalarData(UInt32, Byte[])
Exceptions
Type Condition
System.ObjectDisposedException

Thrown when an attempt is made to invoke this method on a session that has been closed.

AddSynchroChannelData(Int64, UInt32, Byte, UInt32, Byte[])

Adds Synchronised data for a channel.

Declaration
public override void AddSynchroChannelData(long timestamp, uint channelId, byte sequenceNumber, uint deltaScale, byte[] data)
Parameters
Type Name Description
System.Int64 timestamp

Timestamp of first sample of data in dataToWrite.

System.UInt32 channelId

Channel id.

System.Byte sequenceNumber

Number of samples in dataToWrite.

System.UInt32 deltaScale

The scale to multiply deltas by.

System.Byte[] data

Samples and deltas stored as sample, delta, sample, data.....

Overrides
SessionBase.AddSynchroChannelData(Int64, UInt32, Byte, UInt32, Byte[])
Remarks

The timestamp of the first sample is the base value passed in the channel list. Sequence delta 2 defines the timestamp of the second sample from the timestamp of the first sample; the sequence delta 3 defines the timestamp of the third sample from the second, and so on.

AssociateWithChild(SessionKey, String, String, Int32)

Associates this session with a child session.

Declaration
public override void AssociateWithChild(SessionKey childSessionKey, string associateName, string associateGroup, int versionNumber)
Parameters
Type Name Description
MAT.OCS.Core.SessionKey childSessionKey

The child session key.

System.String associateName

Associate Name.

System.String associateGroup

Associate Group.

System.Int32 versionNumber

Version Number.

Overrides
SessionBase.AssociateWithChild(SessionKey, String, String, Int32)

AssociateWithParent(SessionKey)

Associates this session with a parent session.

Declaration
public override void AssociateWithParent(SessionKey parentSessionKey)
Parameters
Type Name Description
MAT.OCS.Core.SessionKey parentSessionKey

The parent session.

Overrides
SessionBase.AssociateWithParent(SessionKey)
Remarks

Child sessions can be associated with this session using the IAssociateCollection. e.g. Associates.Add(newSessionKey).

Exceptions
Type Condition
System.ArgumentException

Thrown when the parentSessionKey passed is the same as the key for this session instance.

AssociateWithParent(SessionKey, String, Int32)

Associates this session with a parent session.

Declaration
public override void AssociateWithParent(SessionKey parentSessionKey, string associateName, int versionNumber)
Parameters
Type Name Description
MAT.OCS.Core.SessionKey parentSessionKey

The parent session key.

System.String associateName

Associate Name.

System.Int32 versionNumber

Version Number.

Overrides
SessionBase.AssociateWithParent(SessionKey, String, Int32)

AssociateWithParent(SessionKey, String, String, Int32)

Associates this session with a parent session.

Declaration
public override void AssociateWithParent(SessionKey parentSessionKey, string associateName, string associateGroup, int versionNumber)
Parameters
Type Name Description
MAT.OCS.Core.SessionKey parentSessionKey

The parent session key.

System.String associateName

Associate Name.

System.String associateGroup

Associate Group.

System.Int32 versionNumber

Version Number.

Overrides
SessionBase.AssociateWithParent(SessionKey, String, String, Int32)

CombineSessionConfiguration(Session)

Combines the session configuration from the passed session into the current session. This allows the container session to appear to contain the configuration of the child session.

Declaration
public void CombineSessionConfiguration(Session session)
Parameters
Type Name Description
Session session

The session.

ContainsParameter(String)

Does this Session contain the specified Parameter.

Declaration
public override bool ContainsParameter(string parameterIdentifier)
Parameters
Type Name Description
System.String parameterIdentifier

Parameter Identifier.

Returns
Type Description
System.Boolean

Whether the parameter exists in this session.

Overrides
SessionBase.ContainsParameter(String)
Remarks

Check in all sessions (included merged sessions) if a parameter is contained

CreateConfiguration()

Creates a configuration set for the session. Configuration will be saved when Commit() is called on this configuration set.

Declaration
public override ConfigurationSet CreateConfiguration()
Returns
Type Description
ConfigurationSet

Configuration set object.

Overrides
SessionBase.CreateConfiguration()

CreateConstantParameterDataAccess(String)

Creates a PDA that allows the current value of a named constant to be output.

Declaration
public override ParameterDataAccessBase CreateConstantParameterDataAccess(string constantName)
Parameters
Type Name Description
System.String constantName

Name of the constant.

Returns
Type Description
ParameterDataAccessBase

Returns PDA for a constant.

Overrides
SessionBase.CreateConstantParameterDataAccess(String)

CreateParameterDataAccess(String)

Returns a ParameterDataAccess object which can then be used to read merged Channel data from this session.

Declaration
public override ParameterDataAccessBase CreateParameterDataAccess(string parameterIdentifier)
Parameters
Type Name Description
System.String parameterIdentifier

The parameter identifier for Parameter to read data for.

Returns
Type Description
ParameterDataAccessBase

An instantiated ParameterDataAccess object.

Overrides
SessionBase.CreateParameterDataAccess(String)

CreateParameterDataAccess(String, IList<UInt32>)

Returns a ParameterDataAccess object which can then be used to read Channel data from this session.

Declaration
public override ParameterDataAccessBase CreateParameterDataAccess(string parameterIdentifier, IList<uint> channelIds)
Parameters
Type Name Description
System.String parameterIdentifier

The parameter identifier for Parameter to read data for.

System.Collections.Generic.IList<System.UInt32> channelIds

A list of explicit channels that should be merged from the full collection of channels on the desired Parameter.

Returns
Type Description
ParameterDataAccessBase

An instantiated ParameterDataAccess object.

Overrides
SessionBase.CreateParameterDataAccess(String, IList<UInt32>)
Exceptions
Type Condition
System.ObjectDisposedException

Thrown when an attempt is made to invoke this method on a session that has been closed.

CreateTransientConfiguration()

Creates an in-memory configuration set for the session.

Declaration
public ConfigurationSet CreateTransientConfiguration()
Returns
Type Description
ConfigurationSet

Configuration set object.

EndData()

Method to be called by a (recording) client when they have finished adding data to a session (e.g. at end of recording). This method will run asynchronously.

Declaration
public void EndData()

EndDataAsync()

Method to be called by a (recording) client when they have finished adding data to a session (e.g. at end of recording).

Declaration
public Task EndDataAsync()
Returns
Type Description
System.Threading.Tasks.Task

EndDataSynchronous()

Method to be called by a (recording) client when they have finished adding data to a session (e.g. at end of bulk importing). This method will run synchronously.

Declaration
public void EndDataSynchronous()

Flush()

Flushes data to the database without closing the session.

Declaration
public override void Flush()
Overrides
SessionBase.Flush()

GetConversion(String)

Gets the conversion.

Declaration
public override ConversionBase GetConversion(string conversionName)
Parameters
Type Name Description
System.String conversionName

Name of the conversion.

Returns
Type Description
ConversionBase

Conversion item.

Overrides
SessionBase.GetConversion(String)

GetErrorData(Int64, Int64)

Retrieve Error Data for this Session

Declaration
public override IEnumerable<ErrorData> GetErrorData(long startTime, long endTime)
Parameters
Type Name Description
System.Int64 startTime

Start time of requested time range

System.Int64 endTime

End time of requested time range

Returns
Type Description
System.Collections.Generic.IEnumerable<ErrorData> System.Collections.Generic.IEnumerable<>
Overrides
SessionBase.GetErrorData(Int64, Int64)
Remarks

Returns data for all Logged or Current Parameters defined in a ErrorDefinition. Before the calculation of the scaled value of a sample, if the raw value masks true against the parameter’s error mask bit field, then the sensor has failed and the ECU is returning default values for that parameter. The data is therefore marked as DataStatusType.Default

GetErrorDataForApplicationGroups(Int64, Int64, IEnumerable<String>)

Retrieve Error Data for this Session for the specified ApplicationGroup Names

Declaration
public override IEnumerable<ErrorData> GetErrorDataForApplicationGroups(long startTime, long endTime, IEnumerable<string> groups)
Parameters
Type Name Description
System.Int64 startTime

The start time.

System.Int64 endTime

The end time.

System.Collections.Generic.IEnumerable<System.String> groups

The application group names.

Returns
Type Description
System.Collections.Generic.IEnumerable<ErrorData>
Overrides
SessionBase.GetErrorDataForApplicationGroups(Int64, Int64, IEnumerable<String>)

GetErrorDataForIdentifiers(Int64, Int64, IEnumerable<String>)

Retrieve Error Data for this Session for the specified current/logger parameter identifiers

Declaration
public override IEnumerable<ErrorData> GetErrorDataForIdentifiers(long startTime, long endTime, IEnumerable<string> identifiers)
Parameters
Type Name Description
System.Int64 startTime

The start time.

System.Int64 endTime

The end time.

System.Collections.Generic.IEnumerable<System.String> identifiers

The current/logged parameter identifiers

Returns
Type Description
System.Collections.Generic.IEnumerable<ErrorData>
Overrides
SessionBase.GetErrorDataForIdentifiers(Int64, Int64, IEnumerable<String>)

GetErrorDefinitionForParameter(String)

Get the ErrorDefinition where the Current or Logged Identifier is parameterIdentifier

Declaration
public ErrorDefinition GetErrorDefinitionForParameter(string parameterIdentifier)
Parameters
Type Name Description
System.String parameterIdentifier
Returns
Type Description
ErrorDefinition

GetEventData(Int64, Int64)

Retrieve Event data for session along with associated session.

Declaration
public override IEnumerable<Event> GetEventData(long startTime, long endTime)
Parameters
Type Name Description
System.Int64 startTime

Start time of requested time range

System.Int64 endTime

End time of requested time range

Returns
Type Description
System.Collections.Generic.IEnumerable<Event>
Overrides
SessionBase.GetEventData(Int64, Int64)

GetEventDefinition(String)

Gets the event definition.

Declaration
public override EventDefinition GetEventDefinition(string key)
Parameters
Type Name Description
System.String key

The id/group pair identifying the definition.

Returns
Type Description
EventDefinition

Event definitions.

Overrides
SessionBase.GetEventDefinition(String)

GetLapsInRange(Int64, Int64)

Gets the laps in range.

Declaration
public override IReadOnlyList<Lap> GetLapsInRange(long startTime, long endTime)
Parameters
Type Name Description
System.Int64 startTime

The start time.

System.Int64 endTime

The end time.

Returns
Type Description
System.Collections.Generic.IReadOnlyList<Lap>
Overrides
SessionBase.GetLapsInRange(Int64, Int64)

GetLoadedAssociates()

Gets a list of session keys for all loaded associate sessions.

Declaration
public IList<SessionKey> GetLoadedAssociates()
Returns
Type Description
System.Collections.Generic.IList<MAT.OCS.Core.SessionKey>

GetMappedTimestamps(String, Double[])

Gets the mapped range by passing the specified start and end to a mapper on the session.

Declaration
public long[] GetMappedTimestamps(string mapperName, double[] values)
Parameters
Type Name Description
System.String mapperName

Name of the mapper.

System.Double[] values

The values.

Returns
Type Description
System.Int64[]

The output from the mapper for the specified positions.

GetMappedValues(String, Int64[])

Gets the mapped range by passing the specified start and end times to a mapper on the session.

Declaration
public double[] GetMappedValues(string mapperName, long[] times)
Parameters
Type Name Description
System.String mapperName

Name of the mapper.

System.Int64[] times

The times.

Returns
Type Description
System.Double[]

The output from the mapper for the specified times.

GetNextUniqueFunctionId(String)

Returns the next parameter Id in the format parameterName:parameterApp:fN

where fn is the next sequential number for the given function parameterId

Declaration
public override string GetNextUniqueFunctionId(string parameterId)
Parameters
Type Name Description
System.String parameterId
Returns
Type Description
System.String
Overrides
SessionBase.GetNextUniqueFunctionId(String)

GetParameter(String)

Gets the parameter with the specified identifier.

Declaration
public override ParameterBase GetParameter(string parameterIdentifier)
Parameters
Type Name Description
System.String parameterIdentifier

The parameter identifier.

Returns
Type Description
ParameterBase

The parameter with the identifier specified, or throws an ArgumentNullException if no parameter with that identifier exists.

Overrides
SessionBase.GetParameter(String)

GetParameterOrDefault(String)

Gets the parameter with the specified identifier without generating exceptions.

Declaration
public override ParameterBase GetParameterOrDefault(string parameterIdentifier)
Parameters
Type Name Description
System.String parameterIdentifier

The parameter identifier.

Returns
Type Description
ParameterBase

The parameter with the identifier specified, or null if no parameter with that identifier exists.

Overrides
SessionBase.GetParameterOrDefault(String)

GetParametersForGroup(String)

Gets the parameters for an ApplicationGroup or ParameterGroup.

Declaration
public override IReadOnlyList<ParameterBase> GetParametersForGroup(string group)
Parameters
Type Name Description
System.String group

The ApplicationGroup Name, or ParameterGroup Identifier.

Returns
Type Description
System.Collections.Generic.IReadOnlyList<ParameterBase>
Overrides
SessionBase.GetParametersForGroup(String)

GetParameterWithFallbackStrategy(String)

Returns a Parameter object "using a fallback strategy" which can be used to read the session's parameter data.

Declaration
public ParameterBase GetParameterWithFallbackStrategy(string parameterIdentifier)
Parameters
Type Name Description
System.String parameterIdentifier
Returns
Type Description
ParameterBase

GetParentSessions()

Gets the parent sessions of this session.

Declaration
public IEnumerable<ExtendedAssociate> GetParentSessions()
Returns
Type Description
System.Collections.Generic.IEnumerable<ExtendedAssociate>

A list of parent sessions

GetSessionTransientState()

Gets the current transient state of the session

Declaration
public override bool GetSessionTransientState()
Returns
Type Description
System.Boolean
Overrides
SessionBase.GetSessionTransientState()

IsInError(String, Int64)

Determines whether the Parameter data [is in error] for [the specified identifier] at the specified timestamp.

Declaration
public override bool IsInError(string identifier, long time)
Parameters
Type Name Description
System.String identifier

The Parameter identifier.

System.Int64 time

The time in nanoseconds.

Returns
Type Description
System.Boolean

True if the data is in Error

Overrides
SessionBase.IsInError(String, Int64)

LoadConfiguration()

Loads configuration for this session if it has not already been previously loaded.

Declaration
public override void LoadConfiguration()
Overrides
SessionBase.LoadConfiguration()

LoadParameters(IEnumerable<String>)

Loads configuration for the required parameters.

Declaration
public override void LoadParameters(IEnumerable<string> parameterIdentifiers)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<System.String> parameterIdentifiers

The parameter identifiers.

Overrides
SessionBase.LoadParameters(IEnumerable<String>)
Remarks

This method will load configuration for the parameter identifiers passed in, Used for Lightweight Session Loading, and for incrementally loading configuration as required

LoadRemainingParameters()

Load all the parameters not loaded when the session configuration is loaded.

Declaration
public override void LoadRemainingParameters()
Overrides
SessionBase.LoadRemainingParameters()

MarkSessionAsTransient(Boolean)

Set/clear the transient state for the session

Declaration
public override void MarkSessionAsTransient(bool transient)
Parameters
Type Name Description
System.Boolean transient
Overrides
SessionBase.MarkSessionAsTransient(Boolean)

RecalculateParameters()

Recalculate parameters for session.

Declaration
public override void RecalculateParameters()
Overrides
SessionBase.RecalculateParameters()

RemoveFilter(String)

Remove the active filter from the list if present

Declaration
public override void RemoveFilter(string filterParameterId)
Parameters
Type Name Description
System.String filterParameterId
Overrides
SessionBase.RemoveFilter(String)

RemoveInMemoryParameter(String)

Remove an in-memory parameter.

Declaration
public void RemoveInMemoryParameter(string parameterIdentifier)
Parameters
Type Name Description
System.String parameterIdentifier

Parameter to remove.

ReserveNextAvailableRowChannelId()

Reserves the next available Slow Row Channel Id in this session. This can be used by an external data service if it needs to add configuration for a new channel. Each call to this method will result in a new channel id which will not be handed out again.

Declaration
public uint ReserveNextAvailableRowChannelId()
Returns
Type Description
System.UInt32

Next available channel id in the session.

ReserveNextAvailableRowChannelIdRange(UInt32)

Reserves the next available Slow Row Channel Id range in this session given a channel count. This can be used by an external data service if it needs to add configuration for a new channel. Each call to this method will result in a new channel id range which will not be handed out again.

Declaration
public uint ReserveNextAvailableRowChannelIdRange(uint channelRange)
Parameters
Type Name Description
System.UInt32 channelRange

The channel range (NOT the channel count, as channel ids do not have to be consecutive!).

Returns
Type Description
System.UInt32

Next available channel id range in the session.

ResetRowData(UInt32)

Reset row data for channel.

Declaration
public override void ResetRowData(uint channelId)
Parameters
Type Name Description
System.UInt32 channelId

The channel.

Overrides
SessionBase.ResetRowData(UInt32)

ResolveString(String)

Resolve identifier/session detail dollar string based on given input.

Declaration
public override string ResolveString(string unresolvedIdentifier)
Parameters
Type Name Description
System.String unresolvedIdentifier

Unresolved identifier e.g "$NDriverInitial1$$NDriverInitial2$$NDriverInitial3$-%c"

Returns
Type Description
System.String

Resolved identifier e.g "ALO-Brazil"

Overrides
SessionBase.ResolveString(String)
Remarks

This API is used from external software to resolve the identifier. e.g The timeline in A9 can add the unresolved identifier which needs to be resolved.

SetCoverageCursor(Int64)

Sets the coverage cursor for the session.

Declaration
public override void SetCoverageCursor(long timestamp)
Parameters
Type Name Description
System.Int64 timestamp

The coverage cursor.

Overrides
SessionBase.SetCoverageCursor(Int64)

SetEndTime(Int64)

Sets the Session end time.

Declaration
public override void SetEndTime(long endTime)
Parameters
Type Name Description
System.Int64 endTime

The new end time.

Overrides
SessionBase.SetEndTime(Int64)

SetSessionTimerange(Int64, Int64)

The set session time range.

Declaration
public void SetSessionTimerange(long startTime, long endTime)
Parameters
Type Name Description
System.Int64 startTime

The start time.

System.Int64 endTime

The end time.

SetStartTime(Int64)

Sets the Session start time.

Declaration
public override void SetStartTime(long startTime)
Parameters
Type Name Description
System.Int64 startTime

The new start time.

Overrides
SessionBase.SetStartTime(Int64)

ToString()

Returns a System.String that represents this instance.

Declaration
public override string ToString()
Returns
Type Description
System.String

A System.String that represents this instance.

TryCreateParameterDataAccess(String, out ParameterDataAccessBase)

Attempts to create a ParameterDataAccess object that can be used to read merged Channel data from this session.

Declaration
public bool TryCreateParameterDataAccess(string parameterIdentifier, out ParameterDataAccessBase pda)
Parameters
Type Name Description
System.String parameterIdentifier

The parameter identifier for Parameter to read data for.

ParameterDataAccessBase pda

An instantiated ParameterDataAccess object.

Returns
Type Description
System.Boolean

[true] if a PDA can be created; otherwise [false].

UpdateIdentifier(String)

Updates the session identifier.

Declaration
public void UpdateIdentifier(string identifier)
Parameters
Type Name Description
System.String identifier

The new identifier.

Remarks

This call has no effect if the session is live, under the control of a recorder, and it is an associate session. In this case, the identifier is inherited from the parent session.

UpdateSessionStatus(SessionState)

Update this Session's status. This method will run asynchronously

Declaration
public void UpdateSessionStatus(SessionState sessionState)
Parameters
Type Name Description
SessionState sessionState

The session state.

UpdateSessionStatusAsync(SessionState)

Update this Session's status.

Declaration
public Task UpdateSessionStatusAsync(SessionState sessionState)
Parameters
Type Name Description
SessionState sessionState

The session state.

Returns
Type Description
System.Threading.Tasks.Task

UpdateUnformattedSessionDetail(String, String)

Update the unformatted/Original session detail.

Declaration
public void UpdateUnformattedSessionDetail(string name, string value)
Parameters
Type Name Description
System.String name

Session detail name.

System.String value

Session detail value.

Remarks

This API is called from recorder to update the original session detail if required.

UseConfigurationSets(IEnumerable<KeyValuePair<String, UInt32>>)

Uses the specified configuration, with provided channel offsets.

Declaration
public IDictionary<string, ConfigurationSetMetaData> UseConfigurationSets(IEnumerable<KeyValuePair<string, uint>> configurationSets)
Parameters
Type Name Description
System.Collections.Generic.IEnumerable<System.Collections.Generic.KeyValuePair<System.String, System.UInt32>> configurationSets

Configuration set identifiers, with channel offsets such that channels do not overlap between configuration sets.

Returns
Type Description
System.Collections.Generic.IDictionary<System.String, ConfigurationSetMetaData>

Channel offsets and other metadata, by configuration set identifier. Configuration sets that failed to load are excluded from the result dictionary.

UseConfigurationSets(IList<String>, IDictionary<String, UInt32>)

Uses the specified row and logging configuration sets.

Prefer this method over UseRowConfigurationSet(String) and UseLoggingConfigurationSet(String) because it allows configuration to be loaded and merged in parallel.

Declaration
public IDictionary<string, ConfigurationSetMetaData> UseConfigurationSets(IList<string> rowConfigurationSets, IDictionary<string, uint> loggingConfigurationSets)
Parameters
Type Name Description
System.Collections.Generic.IList<System.String> rowConfigurationSets

Row configuration set identifiers. The resulting metadata indicates the channel offset.

System.Collections.Generic.IDictionary<System.String, System.UInt32> loggingConfigurationSets

Logging configuration set identifiers and channel offsets.

Returns
Type Description
System.Collections.Generic.IDictionary<System.String, ConfigurationSetMetaData>

Channel offsets and other metadata, by configuration set identifier. Configuration sets that failed to load are excluded from the result dictionary.

Exceptions
Type Condition
System.ArgumentNullException

When either rowConfigurationSets or loggingConfigurationSets is null.

UseLoggingConfigurationSet(String)

Uses the logging configuration set on the session to derive the list of parameters, channels, conversions etc.

Declaration
public ConfigurationSetMetaData UseLoggingConfigurationSet(string configSetIdentifier)
Parameters
Type Name Description
System.String configSetIdentifier

Configuration set identifier.

Returns
Type Description
ConfigurationSetMetaData

The configuration set metadata.

UseLoggingConfigurationSet(String, UInt32)

Uses the logging configuration set on the session to derive the list of parameters, channels, conversions etc.

Declaration
public ConfigurationSetMetaData UseLoggingConfigurationSet(string configSetIdentifier, uint channelOffset)
Parameters
Type Name Description
System.String configSetIdentifier

Configuration set identifier.

System.UInt32 channelOffset

The channel offset.

Returns
Type Description
ConfigurationSetMetaData

The configuration set metadata.

UseLoggingConfigurationSets(Dictionary<String, UInt32>)

Uses the logging configuration sets.

Declaration
public void UseLoggingConfigurationSets(Dictionary<string, uint> configurationSetsWithChannelOffset)
Parameters
Type Name Description
System.Collections.Generic.Dictionary<System.String, System.UInt32> configurationSetsWithChannelOffset

The configuration sets with channel offset.

UseRowConfigurationSet(String)

Uses the row configuration set on the session to derive the list of parameters, channels, conversions etc.

Declaration
public ConfigurationSetMetaData UseRowConfigurationSet(string configSetIdentifier)
Parameters
Type Name Description
System.String configSetIdentifier

Configuration set identifier.

Returns
Type Description
ConfigurationSetMetaData

The configuration set metadata.

Events

ApplicationGroupsAdded

Event fired ApplicationGroups are added to the Session.

Declaration
public override event EventHandler<SessionEventArgs> ApplicationGroupsAdded
Event Type
Type Description
System.EventHandler<SessionEventArgs>
Overrides
SessionBase.ApplicationGroupsAdded

CanDataAdded

Gets the Can data for specified bus within a session.

Declaration
public override event EventHandler<ItemCanArgs> CanDataAdded
Event Type
Type Description
System.EventHandler<ItemCanArgs>
Overrides
SessionBase.CanDataAdded

ChannelsAdded

Event fired when Channels are added to the Session.

Declaration
public override event EventHandler<SessionEventArgs> ChannelsAdded
Event Type
Type Description
System.EventHandler<SessionEventArgs>
Overrides
SessionBase.ChannelsAdded

ConfigurationProcessed

Event fired when Configuration has been processed (validated and queued for persistence).

Declaration
public override event EventHandler<SessionEventArgs> ConfigurationProcessed
Event Type
Type Description
System.EventHandler<SessionEventArgs>
Overrides
SessionBase.ConfigurationProcessed

ConversionsAdded

Event fired Conversions are added to the Session.

Declaration
public override event EventHandler<SessionEventArgs> ConversionsAdded
Event Type
Type Description
System.EventHandler<SessionEventArgs>
Overrides
SessionBase.ConversionsAdded

ErrorDataAdded

Event fired an ItemErrorArgs is added to the Session.

Declaration
public override event EventHandler<ItemErrorArgs> ErrorDataAdded
Event Type
Type Description
System.EventHandler<ItemErrorArgs>
Overrides
SessionBase.ErrorDataAdded

ErrorDefinitionsAdded

Event fired when ErrorDefinitions are added to the Session.

Declaration
public override event EventHandler<SessionEventArgs> ErrorDefinitionsAdded
Event Type
Type Description
System.EventHandler<SessionEventArgs>
Overrides
SessionBase.ErrorDefinitionsAdded

EventDataAdded

Event fired an Event is added to the Session.

Declaration
public override event EventHandler<ItemEventArgs> EventDataAdded
Event Type
Type Description
System.EventHandler<ItemEventArgs>
Overrides
SessionBase.EventDataAdded

EventDefinitionsAdded

Event fired EventDefinitions are added to the Session.

Declaration
public override event EventHandler<SessionEventArgs> EventDefinitionsAdded
Event Type
Type Description
System.EventHandler<SessionEventArgs>
Overrides
SessionBase.EventDefinitionsAdded

FunctionParametersAdded

Event fired when FunctionParameters are added to the Session.

Declaration
public override event EventHandler<SessionEventArgs> FunctionParametersAdded
Event Type
Type Description
System.EventHandler<SessionEventArgs>
Overrides
SessionBase.FunctionParametersAdded

FunctionParametersRemoved

Event fired when FunctionParameters are removed from the Session.

Declaration
public override event EventHandler<SessionEventArgs> FunctionParametersRemoved
Event Type
Type Description
System.EventHandler<SessionEventArgs>
Overrides
SessionBase.FunctionParametersRemoved

LapCompleted

Event fired when lap completion happens (i.e. when lap is added which causes the end time for the previous lap to be calculated).

Declaration
public override event EventHandler<LapEventArgs> LapCompleted
Event Type
Type Description
System.EventHandler<LapEventArgs>
Overrides
SessionBase.LapCompleted

LapStarted

Event fired when a new lap starts (i.e. when a new lap is added.

Declaration
public override event EventHandler<LapEventArgs> LapStarted
Event Type
Type Description
System.EventHandler<LapEventArgs>
Overrides
SessionBase.LapStarted

LapStatisticsCompleted

Event fired when Lap Statistics calculation has completed.

Declaration
public override event EventHandler<LapStatisticsEventArgs> LapStatisticsCompleted
Event Type
Type Description
System.EventHandler<LapStatisticsEventArgs>
Overrides
SessionBase.LapStatisticsCompleted

LapStatisticsPersisted

Event fired when Lap Statistics has been persisted.

Declaration
public override event EventHandler<LapStatisticsEventArgs> LapStatisticsPersisted
Event Type
Type Description
System.EventHandler<LapStatisticsEventArgs>
Overrides
SessionBase.LapStatisticsPersisted

MarkerAdded

Event fired when a marker is added to the Marker collection

Declaration
public override event EventHandler<ItemEventArgs> MarkerAdded
Event Type
Type Description
System.EventHandler<ItemEventArgs>
Overrides
SessionBase.MarkerAdded

MessagingErrorOccurred

Event fired when an error occurs on a remote connection using messaging.

Declaration
public override event EventHandler<MessagingErrorEventArgs> MessagingErrorOccurred
Event Type
Type Description
System.EventHandler<MESL.SqlRace.Messaging.Interface.MessagingErrorEventArgs>
Overrides
SessionBase.MessagingErrorOccurred

NewDataArrived

In live mode or in deferred data request, notify when new data is ready.

Declaration
public override event EventHandler<SessionEventArgs> NewDataArrived
Event Type
Type Description
System.EventHandler<SessionEventArgs>
Overrides
SessionBase.NewDataArrived

NewFastestLap

Event fired when the fastest lap changes.

Declaration
public override event EventHandler<LapEventArgs> NewFastestLap
Event Type
Type Description
System.EventHandler<LapEventArgs>
Overrides
SessionBase.NewFastestLap

OnAddChannelDataError

Occurs when there has been an error adding channel data to this Session.

Declaration
public override event EventHandler<AddChannelDataErrorEventArgs> OnAddChannelDataError
Event Type
Type Description
System.EventHandler<AddChannelDataErrorEventArgs>
Overrides
SessionBase.OnAddChannelDataError

OnDisposed

Occurs when the session is disposed

Declaration
public override event EventHandler OnDisposed
Event Type
Type Description
System.EventHandler
Overrides
SessionBase.OnDisposed

ParametersAdded

Event fired when Parameters are added to the Session.

Declaration
public override event EventHandler<SessionEventArgs> ParametersAdded
Event Type
Type Description
System.EventHandler<SessionEventArgs>
Overrides
SessionBase.ParametersAdded

RdaEventDefinitionsChanged

Fired when the collection of available EventDefinitions has changed as a result of processing an unlock list checksum RDA.

Declaration
public override event EventHandler<SessionEventArgs> RdaEventDefinitionsChanged
Event Type
Type Description
System.EventHandler<SessionEventArgs>
Overrides
SessionBase.RdaEventDefinitionsChanged

RdaParametersChanged

Fired when the collection of available Parameters has changed as a result of processing an unlock list checksum RDA.

Declaration
public override event EventHandler<SessionEventArgs> RdaParametersChanged
Event Type
Type Description
System.EventHandler<SessionEventArgs>
Overrides
SessionBase.RdaParametersChanged

SessionClosed

Event fired when session is closed.

Declaration
public override event EventHandler<SessionClosedArgs> SessionClosed
Event Type
Type Description
System.EventHandler<SessionClosedArgs>
Overrides
SessionBase.SessionClosed

SessionDetailChangedEventOccurred

Event fired when the session detail item is changed.

Declaration
public override event EventHandler<SessionDetailChangedEventArgs> SessionDetailChangedEventOccurred
Event Type
Type Description
System.EventHandler<SessionDetailChangedEventArgs>
Overrides
SessionBase.SessionDetailChangedEventOccurred

SessionIdentifierChangedEventOccurred

Event fired when the session identifier changes.

Declaration
public override event EventHandler<SessionIdentifierChangedEventArgs> SessionIdentifierChangedEventOccurred
Event Type
Type Description
System.EventHandler<SessionIdentifierChangedEventArgs>
Overrides
SessionBase.SessionIdentifierChangedEventOccurred

SessionNotAvailableEventOccurred

Event fired when a message is received for a session that is no longer available.

Declaration
public override event EventHandler<SessionNotAvailableEventArgs> SessionNotAvailableEventOccurred
Event Type
Type Description
System.EventHandler<SessionNotAvailableEventArgs>
Overrides
SessionBase.SessionNotAvailableEventOccurred

SessionStartTimeChanged

Event fired when Session Start Time is updated to a value earlier than the current start time

Declaration
public override event EventHandler<SessionStartTimeChangedEventArgs> SessionStartTimeChanged
Event Type
Type Description
System.EventHandler<SessionStartTimeChangedEventArgs>
Overrides
SessionBase.SessionStartTimeChanged

SessionStatusChangedEventOccurred

Event fired when the session status changes.

Declaration
public override event EventHandler<SessionStatusChangedEventArgs> SessionStatusChangedEventOccurred
Event Type
Type Description
System.EventHandler<SessionStatusChangedEventArgs>
Overrides
SessionBase.SessionStatusChangedEventOccurred

TelemetryStarted

Event fired when the first piece of data is written to the session.

Declaration
public override event EventHandler<EventArgs> TelemetryStarted
Event Type
Type Description
System.EventHandler<System.EventArgs>
Overrides
SessionBase.TelemetryStarted

Implements

ISession
Back to top Generated by DocFX