Show / Hide Table of Contents

Class FileSessionManager

Class for the management of finding file based sessions contained on the file system for indexing as SQL Race Sessions.

Inheritance
System.Object
FileSessionManager
Implements
IFileSessionManager
Namespace: MESL.SqlRace.Domain
Assembly: MESL.SqlRace.Domain.dll
Syntax
public sealed class FileSessionManager : Object, IFileSessionManager

Methods

ComputeGuidFor(String)

Computes a Session Key Guid for a FileSession

Declaration
public SessionKey ComputeGuidFor(string fileSessionPath)
Parameters
Type Name Description
System.String fileSessionPath

Path and filename to compute key for

Returns
Type Description
MAT.OCS.Core.SessionKey

SessionKey

ComputeLegacyKey(String, UInt64, UInt64)

Computes a Session Key Guid for a FileSession replicating MAT.SessionImportConsole algorithm

Declaration
public SessionKey ComputeLegacyKey(string fileSessionPath, ulong startTime, ulong endTime)
Parameters
Type Name Description
System.String fileSessionPath

Path and filename to compute key for

System.UInt64 startTime

Session Start time

System.UInt64 endTime

Session End time

Returns
Type Description
MAT.OCS.Core.SessionKey

SessionKey

CreateFileSessionManager()

Creates a new instance of the FileSessionManager.

Declaration
public static FileSessionManager CreateFileSessionManager()
Returns
Type Description
FileSessionManager

A new FileSessionManager object.

GetIndexedFileSessionFolder(String, String, Boolean)

Get the indexed file sessions from the cache

Declaration
public IEnumerable<ISessionSummary> GetIndexedFileSessionFolder(string connectionString, string path, bool includeSubdirectories)
Parameters
Type Name Description
System.String connectionString

The connection string for the cache database

System.String path

The path to the indexed folder

System.Boolean includeSubdirectories

Whether or not to include descendent directories of the path given.

Returns
Type Description
System.Collections.Generic.IEnumerable<ISessionSummary>

The session summaries of the session files in the given folder

GetIndexedFileSessionFolder(String, String, Boolean, IFilter, IEnumerable<SortCriterion>, Nullable<Int32>, Nullable<Int32>)

Get the indexed file sessions from the cache

Declaration
public IEnumerable<ISessionSummary> GetIndexedFileSessionFolder(string connectionString, string path, bool includeSubdirectories, IFilter filter, IEnumerable<SortCriterion> sortCriteria, Nullable<int> pageNumber, Nullable<int> pageSize)
Parameters
Type Name Description
System.String connectionString

The connection string for the cache database

System.String path

The path to the indexed folder

System.Boolean includeSubdirectories

Whether or not to include descendent directories of the path given.

IFilter filter

The filter to limit the number of sessions returned

System.Collections.Generic.IEnumerable<SortCriterion> sortCriteria

The fields to sort the result by

System.Nullable<System.Int32> pageNumber

The 1 based page number

System.Nullable<System.Int32> pageSize

The number of items per page

Returns
Type Description
System.Collections.Generic.IEnumerable<ISessionSummary>

The session summaries of the session files in the given folder

IndexFileSessions(List<String>, String, Boolean)

Load a FileSession from specified path

Declaration
public IEnumerable<ISessionSummary> IndexFileSessions(List<string> fileSessionFullPaths, string connectionString, bool processAssociated)
Parameters
Type Name Description
System.Collections.Generic.List<System.String> fileSessionFullPaths

Fully qualified path and filename to a file based session

System.String connectionString

Database connection string to use for file session

System.Boolean processAssociated

Whether to include Associate sessions for processing

Returns
Type Description
System.Collections.Generic.IEnumerable<ISessionSummary>

List of ISessionSummary representing the File session and Associates (if requested)

IsSessionFile(String)

Returns true if the file is a type that we can load as a session, false otherwise

Declaration
public bool IsSessionFile(string filePath)
Parameters
Type Name Description
System.String filePath
Returns
Type Description
System.Boolean

IsSessionFileOrDependent(String)

Returns true if the file is a type that we can load as a session or a file that depends on a session (e.g. SSE), false otherwise

Declaration
public bool IsSessionFileOrDependent(string filePath)
Parameters
Type Name Description
System.String filePath
Returns
Type Description
System.Boolean

Load(String, IList<String>)

Loads the specified file session.

Declaration
public IClientSession Load(string fileSession, IList<string> associatesToLoad = null)
Parameters
Type Name Description
System.String fileSession

The file session.

System.Collections.Generic.IList<System.String> associatesToLoad

The associates to load

Returns
Type Description
IClientSession

LoadSessionSummariesForFiles(IList<String>, IFilter, IEnumerable<SortCriterion>, CancellationToken, IProgress<SessionProcessingStatusUpdate>)

Load only session summaries for the given files

Declaration
public IEnumerable<ISessionSummary> LoadSessionSummariesForFiles(IList<string> files, IFilter filter, IEnumerable<SortCriterion> sortCriteria, CancellationToken token, IProgress<SessionProcessingStatusUpdate> progress)
Parameters
Type Name Description
System.Collections.Generic.IList<System.String> files

The files that need to be the summary been loaded

IFilter filter
System.Collections.Generic.IEnumerable<SortCriterion> sortCriteria
System.Threading.CancellationToken token

A token to cancel the operation

System.IProgress<SessionProcessingStatusUpdate> progress
Returns
Type Description
System.Collections.Generic.IEnumerable<ISessionSummary>

LoadSessionSummariesForFiles(IList<String>, CancellationToken, IProgress<SessionProcessingStatusUpdate>)

Load only session summaries for the given files

Declaration
public IEnumerable<ISessionSummary> LoadSessionSummariesForFiles(IList<string> files, CancellationToken token, IProgress<SessionProcessingStatusUpdate> progress)
Parameters
Type Name Description
System.Collections.Generic.IList<System.String> files

The files that need to be the summary been loaded

System.Threading.CancellationToken token

A token to cancel the operation

System.IProgress<SessionProcessingStatusUpdate> progress
Returns
Type Description
System.Collections.Generic.IEnumerable<ISessionSummary>

LoadSessionSummariesForPath(String, Boolean, IFilter, IEnumerable<SortCriterion>, Nullable<Int32>, Nullable<Int32>, CancellationToken, IProgress<SessionProcessingStatusUpdate>)

Load only session summaries for the files present in the given folder

Declaration
public IEnumerable<ISessionSummary> LoadSessionSummariesForPath(string folderPath, bool includeSubdirectories, IFilter filter, IEnumerable<SortCriterion> sortCriteria, Nullable<int> pageNumber, Nullable<int> pageSize, CancellationToken token, IProgress<SessionProcessingStatusUpdate> progress)
Parameters
Type Name Description
System.String folderPath

Fully qualified path

System.Boolean includeSubdirectories

Recursive or not

IFilter filter
System.Collections.Generic.IEnumerable<SortCriterion> sortCriteria

An ordered list of sort field and direction

System.Nullable<System.Int32> pageNumber

The 1 based page number

System.Nullable<System.Int32> pageSize

The number of items per page

System.Threading.CancellationToken token

A token to cancel the operation

System.IProgress<SessionProcessingStatusUpdate> progress
Returns
Type Description
System.Collections.Generic.IEnumerable<ISessionSummary>

LoadSessionSummariesForPath(String, Boolean, CancellationToken, IProgress<SessionProcessingStatusUpdate>)

Load only session summaries for the files present in the given folder

Declaration
public IEnumerable<ISessionSummary> LoadSessionSummariesForPath(string folderPath, bool includeSubdirectories, CancellationToken token, IProgress<SessionProcessingStatusUpdate> progress)
Parameters
Type Name Description
System.String folderPath

Fully qualified path

System.Boolean includeSubdirectories

Recursive or not

System.Threading.CancellationToken token

A token to cancel the operation

System.IProgress<SessionProcessingStatusUpdate> progress
Returns
Type Description
System.Collections.Generic.IEnumerable<ISessionSummary>

PopulateMetadataFromFullLoad(Session)

Assign any additional metadata to the session that has become available now that all of the data is being loaded.

Declaration
public bool PopulateMetadataFromFullLoad(Session session)
Parameters
Type Name Description
Session session

File session object.

Returns
Type Description
System.Boolean

true if session summary is found.

ProcessFileSessionConfiguration(String, String, Boolean)

Processes the file session configuration.

Declaration
public void ProcessFileSessionConfiguration(string fileSessionFullPath, string connectionString, bool processAssociated)
Parameters
Type Name Description
System.String fileSessionFullPath

The file session full path.

System.String connectionString

The connection string.

System.Boolean processAssociated

Process associated sessions

Events

FileSessionEventOccurred

Event fired for various event on a session.

Declaration
public event EventHandler<SessionEventArgs> FileSessionEventOccurred
Event Type
Type Description
System.EventHandler<SessionEventArgs>

Implements

IFileSessionManager
In This Article
  • Methods
    • ComputeGuidFor(String)
    • ComputeLegacyKey(String, UInt64, UInt64)
    • CreateFileSessionManager()
    • GetIndexedFileSessionFolder(String, String, Boolean)
    • GetIndexedFileSessionFolder(String, String, Boolean, IFilter, IEnumerable<SortCriterion>, Nullable<Int32>, Nullable<Int32>)
    • IndexFileSessions(List<String>, String, Boolean)
    • IsSessionFile(String)
    • IsSessionFileOrDependent(String)
    • Load(String, IList<String>)
    • LoadSessionSummariesForFiles(IList<String>, IFilter, IEnumerable<SortCriterion>, CancellationToken, IProgress<SessionProcessingStatusUpdate>)
    • LoadSessionSummariesForFiles(IList<String>, CancellationToken, IProgress<SessionProcessingStatusUpdate>)
    • LoadSessionSummariesForPath(String, Boolean, IFilter, IEnumerable<SortCriterion>, Nullable<Int32>, Nullable<Int32>, CancellationToken, IProgress<SessionProcessingStatusUpdate>)
    • LoadSessionSummariesForPath(String, Boolean, CancellationToken, IProgress<SessionProcessingStatusUpdate>)
    • PopulateMetadataFromFullLoad(Session)
    • ProcessFileSessionConfiguration(String, String, Boolean)
  • Events
    • FileSessionEventOccurred
  • Implements
Back to top Generated by DocFX