Table of Contents

Class LiveScoutProtocolProvider

Namespace
Sportradar.LiveData.Sdk.ProtocolProviders.LiveScout
Assembly
Sportradar.LiveData.Sdk.dll

Live scout protocol provider.

public class LiveScoutProtocolProvider : AbstractProtocolProvider, IProtocolProvider
Inheritance
LiveScoutProtocolProvider
Implements
Inherited Members

Constructors

LiveScoutProtocolProvider(IConnectionProvider, IProtocolData, ISdkLogger)

public LiveScoutProtocolProvider(IConnectionProvider connection_provider, IProtocolData data, ISdkLogger sdk_logger)

Parameters

connection_provider IConnectionProvider
data IProtocolData
sdk_logger ISdkLogger

Fields

CLIENT_SCHEMA_PATH

public const string CLIENT_SCHEMA_PATH = "./Schema/scout_client_xml.xsd"

Field Value

string

SERVER_SCHEMA_PATH

public const string SERVER_SCHEMA_PATH = "./Schema/scout_server_xml.xsd"

Field Value

string

m_max_skew

protected TimeSpan m_max_skew

Field Value

TimeSpan

Properties

AuthService

public AuthService AuthService { get; set; }

Property Value

AuthService

ClientSchemas

protected override XmlSchemaSet ClientSchemas { get; set; }

Property Value

XmlSchemaSet

LogoutMessage

What should be tried to send before we disconnect?

public virtual string LogoutMessage { get; }

Property Value

string

SdkLogger

public ISdkLogger SdkLogger { get; }

Property Value

ISdkLogger

ServerSchemas

protected override XmlSchemaSet ServerSchemas { get; set; }

Property Value

XmlSchemaSet

Type

Protocol provider type.

public virtual ProtocolProviderType Type { get; }

Property Value

ProtocolProviderType

Methods

LoadClientSchema(string, ISdkLogger)

public static XmlSchemaSet LoadClientSchema(string name, ISdkLogger sdk_logger)

Parameters

name string
sdk_logger ISdkLogger

Returns

XmlSchemaSet

LoadServerSchema(string, ISdkLogger)

public static XmlSchemaSet LoadServerSchema(string name, ISdkLogger sdk_logger)

Parameters

name string
sdk_logger ISdkLogger

Returns

XmlSchemaSet

LowerConnectedHandler(DateTime?)

protected virtual void LowerConnectedHandler(DateTime? time)

Parameters

time DateTime?

LowerDisconnectedHandler(DateTime?)

protected virtual void LowerDisconnectedHandler(DateTime? time)

Parameters

time DateTime?

MessageReceivedHandler(IMessageIdentifier, string, DataReceivedOutcome)

protected virtual void MessageReceivedHandler(IMessageIdentifier identifier, string msg, ConnectionProviderDelegates.DataReceivedOutcome outcome)

Parameters

identifier IMessageIdentifier
msg string
outcome ConnectionProviderDelegates.DataReceivedOutcome

ParsedMessageReceivedHandler(IMessageIdentifier, IProtocolResponse)

protected virtual void ParsedMessageReceivedHandler(IMessageIdentifier identifier, IProtocolResponse proto)

Parameters

identifier IMessageIdentifier
proto IProtocolResponse

SendMessage<T>(T)

Deliver a protocol unit to the server (no matter whether it is connected or sure).

public virtual void SendMessage<T>(T reply) where T : IProtocolRequest

Parameters

reply T

Type Parameters

T

Protocol unit type derived from IProtocolRequest

Remarks

This method might block indefinitely.

SendMessage<T>(T, TimeSpan)

Deliver a protocol unit to the server.

public virtual void SendMessage<T>(T reply, TimeSpan ttl) where T : IProtocolRequest

Parameters

reply T
ttl TimeSpan

Time how long the message is valid.

  • if TimeSpan.Zero try delivery just once
  • if TimeSpan.FromMilliseconds(-1), meaning Infinity try an infinite number of times
  • else try ttl time long

Type Parameters

T

Protocol unit type derived from IProtocolRequest

Exceptions

DisconnectedStateException

If timeout passes without success

RateLimitingException

If sending the message would be over the limit

Events

OnConnected

Invoked when the logical connection to the server is established.

public virtual event ConnectionProviderDelegates.ConnectionDelegate OnConnected

Event Type

ConnectionProviderDelegates.ConnectionDelegate

OnDisconnected

Invoked when the logical connection to the server is broken.

public virtual event ConnectionProviderDelegates.ConnectionDelegate OnDisconnected

Event Type

ConnectionProviderDelegates.ConnectionDelegate

OnInvalidMessageReceived

Invoked when a message was received by the lower layer that could not be validated or processed.

public virtual event ConnectionProviderDelegates.SimpleDataReceivedDelegate OnInvalidMessageReceived

Event Type

ConnectionProviderDelegates.SimpleDataReceivedDelegate

OnLoginFailed

public virtual event ConnectionProviderDelegates.LoginFailedDelegate OnLoginFailed

Event Type

ConnectionProviderDelegates.LoginFailedDelegate

OnParsedMessageReceived

Invoked when a new protocol data unit (implementing IProtocolResponse) is received.

public virtual event ProtocolProviderDelegates.ParsedDataReceivedDelegate OnParsedMessageReceived

Event Type

ProtocolProviderDelegates.ParsedDataReceivedDelegate