Class SdkConfigurationLiveFeed
- Namespace
- Sportradar.LiveData.Sdk.Services.SdkConfiguration.Sections
- Assembly
- Sportradar.LiveData.Sdk.dll
SDK configuration element where common live feed provider settings are stored (connectivity, rate limiters, etc.).
[DynamicConfigIgnoreClass]
public abstract class SdkConfigurationLiveFeed : ConfigurationElementFeed
- Inheritance
-
SdkConfigurationLiveFeed
- Derived
- Inherited Members
Constructors
SdkConfigurationLiveFeed()
protected SdkConfigurationLiveFeed()
Properties
BookmakerId
Bookmaker (client) id.
[ConfigurationProperty("BookmakerId", IsRequired = false, DefaultValue = null)]
[CallbackValidator(Type = typeof(PropertyValidators), CallbackMethodName = "ValidateNullableInt")]
public int? BookmakerId { get; protected set; }
Property Value
- int?
Remarks
This one will override the common settings.
ClientAliveMsgTimeout
Client alive message timeout.
[ConfigurationProperty("ClientAliveMsgTimeout", IsRequired = false, DefaultValue = "00:00:00")]
[DynamicConfigItem]
[TypeConverter(typeof(TimeSpanConverter))]
[TimeSpanValidator]
public TimeSpan ClientAliveMsgTimeout { get; protected set; }
Property Value
Remarks
TimeSpan.Zero means default timeout will be used. BEWARE: there is probably no need to change it unless the protocol updates.
EventRequestLimiterInterval
MatchRequest limiter (interval).
[ConfigurationProperty("EventRequestLimiterInterval", IsRequired = false, DefaultValue = "00:00:00")]
[DynamicConfigItem]
[TypeConverter(typeof(TimeSpanConverter))]
public TimeSpan EventRequestLimiterInterval { get; protected set; }
Property Value
Remarks
When TimeSpan.Zero the default settings as appropriate for the server are used.
EventRequestLimiterNumber
MatchRequest limiter (number).
[ConfigurationProperty("EventRequestLimiterNumber", IsRequired = false, DefaultValue = 0)]
[DynamicConfigItem]
public int EventRequestLimiterNumber { get; protected set; }
Property Value
Remarks
EventRequestLimiterInterval must not be set to TimeSpan.Zero.
Hostname
Host name (overrides automatic defaults for servers)
[ConfigurationProperty("Hostname", IsRequired = false, DefaultValue = null)]
public string Hostname { get; protected set; }
Property Value
Insecure
Whether insecure version of the connection provider should be used that doesn't check the SSL server certificate thumbprint. Implicitly set by SafeMode.
[ConfigurationProperty("Insecure", IsRequired = false, DefaultValue = false)]
public bool Insecure { get; protected set; }
Property Value
InvalidDataReconnectWait
Delay before we try reconnecting to server after we got invalid data.
[ConfigurationProperty("InvalidDataReconnectWait", IsRequired = false, DefaultValue = "00:00:10")]
[DynamicConfigItem]
[TypeConverter(typeof(TimeSpanConverter))]
[PositiveTimeSpanValidator]
public TimeSpan InvalidDataReconnectWait { get; protected set; }
Property Value
LoginLimiterInterval
Login limiter (interval).
[ConfigurationProperty("LoginLimiterInterval", IsRequired = false, DefaultValue = "00:00:00")]
[DynamicConfigItem]
[TypeConverter(typeof(TimeSpanConverter))]
public TimeSpan LoginLimiterInterval { get; protected set; }
Property Value
Remarks
When TimeSpan.Zero the default settings as appropriate for the server are used.
LoginLimiterNumber
Login limiter (number).
[ConfigurationProperty("LoginLimiterNumber", IsRequired = false, DefaultValue = 0)]
[DynamicConfigItem]
public int LoginLimiterNumber { get; protected set; }
Property Value
Remarks
LoginLimiterInterval must not be set to TimeSpan.Zero.
MaxReconnectWait
Delay before we try reconnecting to server after we got disconnected (max, overrides automatic defaults for servers)
[ConfigurationProperty("MaxReconnectWait", IsRequired = false, DefaultValue = "00:00:15")]
[DynamicConfigItem]
[TypeConverter(typeof(TimeSpanConverter))]
[PositiveTimeSpanValidator]
public TimeSpan MaxReconnectWait { get; protected set; }
Property Value
MaxRequestEventIds
Max number of match ids that a client can specify in any request.
[ConfigurationProperty("MaxRequestEventIds", IsRequired = false, DefaultValue = 100)]
[DynamicConfigItem]
[IntegerValidator(MinValue = 1, MaxValue = 1000)]
public int MaxRequestEventIds { get; protected set; }
Property Value
MaxRequestTimeAllowance
Maximum amount of time for request response
[ConfigurationProperty("MaxRequestTimeAllowance", IsRequired = false, DefaultValue = "00:00:10")]
[DynamicConfigItem]
[TypeConverter(typeof(TimeSpanConverter))]
public TimeSpan MaxRequestTimeAllowance { get; protected set; }
Property Value
MaxServerTimestampAge
Server timestamp is only usable to us if it is not outdated so that we can interpolate between two successive server timestamps.
[ConfigurationProperty("MaxServerTimestampAge", IsRequired = false, DefaultValue = "00:05:00")]
[DynamicConfigItem]
[TypeConverter(typeof(TimeSpanConverter))]
[PositiveTimeSpanValidator]
public TimeSpan MaxServerTimestampAge { get; protected set; }
Property Value
MaxTimeSkew
Maximum time difference between local time and server time. When detected time skew is over this limit the connection to the server will be immediately dropped and a reconnect attempted.
Usual time skew values should be:
- 10 minutes when no time synchronization is performed
- 5 seconds (if NTP protocol is used for time synchronization)
- TimeSpan.Zero means the setting is off (which is the default in SafeMode)
[ConfigurationProperty("MaxTimeSkew", IsRequired = false, DefaultValue = "00:00:00")]
[DynamicConfigItem]
[TypeConverter(typeof(TimeSpanConverter))]
[TimeSpanValidator]
public TimeSpan MaxTimeSkew { get; protected set; }
Property Value
Remarks
BEWARE! Low values might prevent a successful connection to the server or cause undesired disconnecting / reconnecting. That in turn might lead to connection blocking on the server side.
MinReconnectWait
Delay before we try reconnecting to server after we got disconnected (min, overrides automatic defaults for servers)
[ConfigurationProperty("MinReconnectWait", IsRequired = false, DefaultValue = "00:00:05")]
[DynamicConfigItem]
[TypeConverter(typeof(TimeSpanConverter))]
[PositiveTimeSpanValidator]
public TimeSpan MinReconnectWait { get; protected set; }
Property Value
Port
Port number (overrides automatic defaults for servers)
[ConfigurationProperty("Port", IsRequired = false, DefaultValue = 0)]
[IntegerValidator(MinValue = 0, MaxValue = 65535)]
public int Port { get; protected set; }
Property Value
ReceiveTimeout
Amount of time to wait for (socket) receive operation to complete successfully.
[ConfigurationProperty("ReceiveTimeout", IsRequired = false, DefaultValue = "00:00:00")]
[DynamicConfigItem]
[TypeConverter(typeof(TimeSpanConverter))]
[TimeSpanValidator]
public TimeSpan ReceiveTimeout { get; protected set; }
Property Value
Remarks
TimeSpan.Zero means default timeout will be used, negative value means use maximum value.
RequestLimiterInterval
Request limiter (interval).
[ConfigurationProperty("RequestLimiterInterval", IsRequired = false, DefaultValue = "00:00:00")]
[DynamicConfigItem]
[TypeConverter(typeof(TimeSpanConverter))]
public TimeSpan RequestLimiterInterval { get; protected set; }
Property Value
Remarks
When TimeSpan.Zero the default settings as appropriate for the server are used.
RequestLimiterNumber
Request limiter (number).
[ConfigurationProperty("RequestLimiterNumber", IsRequired = false, DefaultValue = 0)]
[DynamicConfigItem]
public int RequestLimiterNumber { get; protected set; }
Property Value
Remarks
RequestLimiterInterval must not be set to TimeSpan.Zero.
RestartOnParseError
If true, the feed will reconnect on any parse error
[ConfigurationProperty("RestartOnParseError", IsRequired = false, DefaultValue = false)]
public bool RestartOnParseError { get; protected set; }
Property Value
SSLThumbprint
Optional SSL server certificate thumbprint (overrides automatic defaults for servers)
[ConfigurationProperty("SSLThumbprint", IsRequired = false, DefaultValue = null)]
public string SSLThumbprint { get; protected set; }
Property Value
SendTimeout
Amount of time to wait for (socket) send operation to complete successfully.
[ConfigurationProperty("SendTimeout", IsRequired = false, DefaultValue = "00:00:00")]
[DynamicConfigItem]
[TypeConverter(typeof(TimeSpanConverter))]
[TimeSpanValidator]
public TimeSpan SendTimeout { get; protected set; }
Property Value
Remarks
TimeSpan.Zero means default timeout will be used, negative value means use maximum value.
ServerAliveMsgTimeout
Server alive message timeout.
[ConfigurationProperty("ServerAliveMsgTimeout", IsRequired = false, DefaultValue = "00:00:00")]
[DynamicConfigItem]
[TypeConverter(typeof(TimeSpanConverter))]
[TimeSpanValidator]
public TimeSpan ServerAliveMsgTimeout { get; protected set; }
Property Value
Remarks
TimeSpan.Zero means default timeout will be used. BEWARE: there is probably no need to change it unless the protocol updates.
Test
Whether we should connect to development/test server instead of production one. Cannot be used for LiveOddsVfl and BetPal.
[ConfigurationProperty("Test", IsRequired = false, DefaultValue = false)]
public bool Test { get; protected set; }
Property Value
Remarks
Note that test accounts are disabled on weekends.
TimeKeeperMaxSamples
TimeKeeper should keep that many samples.
[ConfigurationProperty("TimeKeeperMaxSamples", IsRequired = false, DefaultValue = 10)]
[DynamicConfigItem]
public int TimeKeeperMaxSamples { get; protected set; }
Property Value
UseSSL
Whether SSL sockets should be used for communication (overrides automatic defaults for servers). Cannot be used for LiveScout.
[ConfigurationProperty("UseSSL", IsRequired = false, DefaultValue = true)]
public bool UseSSL { get; protected set; }
Property Value
Methods
IsReadOnly()
Override of ConfigurationElement.IsReadOnly, always returns false.
public override bool IsReadOnly()
Returns
- bool
false