コード例 #1
0
        /// <summary>
        /// Invoked when fixture change message is received
        /// </summary>
        /// <param name="sender">The instance raising the event</param>
        /// <param name="e">The event arguments</param>
        private void OnFixtureChange(object sender, FixtureChangeEventArgs <T> e)
        {
            var fixtureChange = e.GetFixtureChange();

            _log.LogInformation($"FixtureChange received. Producer:{fixtureChange.Producer}, RequestId:{fixtureChange.RequestId}, EventId:{fixtureChange.Event.Id}");
            _sportEntityWriter?.WriteData(fixtureChange.Event);
        }
コード例 #2
0
        /// <summary>
        /// Invoked when fixture change message is received
        /// </summary>
        /// <param name="sender">The instance raising the event</param>
        /// <param name="e">The event arguments</param>
        protected virtual void OnFixtureChange(object sender, FixtureChangeEventArgs <ISportEvent> e)
        {
            var fixtureChange = e.GetFixtureChange();

            FeedMessages.Add(new FMessage(fixtureChange.Timestamps.Created, fixtureChange.Event, "FixtureChange"));
            WriteMessageData((IOddsFeedSession)sender, e.GetFixtureChange(), DateTime.Now);
        }
コード例 #3
0
        /// <summary>
        /// Invoked when fixture change message is received
        /// </summary>
        /// <param name="sender">The instance raising the event</param>
        /// <param name="e">The event arguments</param>
        private void OnFixtureChange(object sender, FixtureChangeEventArgs <T> e)
        {
            Guard.Argument(e, nameof(e)).NotNull();

            using var t = SdkMetricsFactory.MetricsRoot.Measure.Timer.Time(_timerOnFixtureChange, $"{e.GetFixtureChange().Event.Id}");
            var fixtureChange = e.GetFixtureChange();

            _log.LogInformation($"FixtureChange received. Producer:{fixtureChange.Producer.Name}, RequestId:{fixtureChange.RequestId}, EventId:{fixtureChange.Event.Id}");
            _sportEntityWriter?.WriteData(fixtureChange.Event);
            _log.LogInformation($"FixtureChange received. EventId:{fixtureChange.Event.Id}. Processing took {t.Elapsed.TotalMilliseconds}ms.");
        }
コード例 #4
0
        private void SessionLowOnFixtureChange(object sender, FixtureChangeEventArgs <ISportEvent> fixtureChangeEventArgs)
        {
            var baseEntity = fixtureChangeEventArgs.GetFixtureChange();

            WriteLowSportEntity(baseEntity.GetType().Name, baseEntity.Event);
        }
コード例 #5
0
        /// <summary>
        /// Dispatches the <see cref="fixture_change"/> message
        /// </summary>
        /// <param name="message">The <see cref="fixture_change"/> message to dispatch</param>
        /// <param name="rawMessage">A raw message received from the feed</param>
        private void DispatchFixtureChange(fixture_change message, byte[] rawMessage)
        {
            var eventArgs = new FixtureChangeEventArgs <T>(MessageMapper, message, DefaultCultures, rawMessage);

            Dispatch(OnFixtureChange, eventArgs, message);
        }
コード例 #6
0
 private void SessionOnFixtureChange(object sender, FixtureChangeEventArgs <ISportEvent> fixtureChangeEventArgs)
 {
     _messages.Add(fixtureChangeEventArgs);
 }
コード例 #7
0
 /// <summary>
 /// Invoked when fixture change message is received
 /// </summary>
 /// <param name="sender">The instance raising the event</param>
 /// <param name="e">The event arguments</param>
 private void OnFixtureChange(object sender, FixtureChangeEventArgs <ISportEvent> e)
 {
     // this method should never be invoked because the entity is always processed by a specific entity dispatcher
     throw new NotImplementedException();
 }
コード例 #8
0
        private void SessionOnFixtureChange(object sender, FixtureChangeEventArgs <ISportEvent> fixtureChangeEventArgs)
        {
            var baseEntity = fixtureChangeEventArgs.GetFixtureChange();

            WriteSportEntity(baseEntity.GetType().Name, baseEntity.Event, baseEntity.Timestamps.Created);
        }