protected void EmitEvent(IEventState state)
 {
     if (EventOccured != null)
     {
         EventOccured(Definition, state);
     }
 }
        public StreamListener(IResourceFacade resource, IAdapterPlugin platformConnector, IEventState eventState, IStateManager stateManager, ISettings settings)
        {
            if (resource == null)
            {
                throw new ArgumentException("Resource information cannot be null");
            }

            if (resource.Content == null)
            {
                throw new Exception("Resource does not contain any content");
            }


            _logger.DebugFormat("Instantiating listener for {0} with sequence={1}", resource, resource.Content.Sequence);

            _lockTimeout       = settings.ProcessingLockTimeOutInSecs;
            _resource          = resource;
            _platformConnector = platformConnector;
            _eventState        = eventState;
            _stateManager      = stateManager;
            _settings          = settings;

            _currentSequence = resource.Content.Sequence;
            _lastSequenceProcessedInSnapshot = -1;

            _hasRecoveredFromError     = true;
            _isFirstSnapshotProcessed  = false;
            _isProcessingFirstSnapshot = false;
            _performingDelayedStop     = false;

            _marketsRuleManager = stateManager.CreateNewMarketRuleManager(resource.Id);

            FixtureId = resource.Id;
            Sport     = resource.Sport;
            SequenceOnStreamingAvailable = _currentSequence;

            IsStreaming  = false;
            IsConnecting = false;
            IsDisposing  = false;
            IsErrored    = false;
            IsIgnored    = false;
            IsStopping   = false;

            var fixtureState = _eventState.GetFixtureState(resource.Id);

            IsFixtureEnded   = fixtureState != null ? fixtureState.MatchStatus == MatchStatus.MatchOver : _resource.IsMatchOver;
            IsFixtureSetup   = (_resource.MatchStatus == MatchStatus.Setup || _resource.MatchStatus == MatchStatus.Ready);
            IsFixtureDeleted = false;
            IsInPlay         = fixtureState != null ? fixtureState.MatchStatus == MatchStatus.InRunning : _resource.MatchStatus == MatchStatus.InRunning;
            _currentEpoch    = fixtureState != null ? fixtureState.Epoch : -1;

            _Stats = StatsManager.Instance[string.Concat("adapter.core.sport.", resource.Sport)].GetHandle();

            SetupListener();
            _logger.DebugFormat("Listener instantiated for {0}", resource);
        }
        public StreamListener(IResourceFacade resource, IAdapterPlugin platformConnector, IEventState eventState, IStateManager stateManager,ISettings settings)
        {
            if (resource == null)
                throw new ArgumentException("Resource information cannot be null");

            if (resource.Content == null)
                throw new Exception("Resource does not contain any content");


            _logger.DebugFormat("Instantiating listener for {0} with sequence={1}", resource, resource.Content.Sequence);

            _lockTimeout = settings.ProcessingLockTimeOutInSecs;
            _resource = resource;
            _platformConnector = platformConnector;
            _eventState = eventState;
            _stateManager = stateManager;
            _settings = settings;

            _currentSequence = resource.Content.Sequence;
            _lastSequenceProcessedInSnapshot = -1;
            
            _hasRecoveredFromError = true;
            _isFirstSnapshotProcessed = false;
            _isProcessingFirstSnapshot = false;
            _performingDelayedStop = false;

            _marketsRuleManager = stateManager.CreateNewMarketRuleManager(resource.Id);

            FixtureId = resource.Id;
            Sport = resource.Sport;
            SequenceOnStreamingAvailable = _currentSequence;

            IsStreaming = false;
            IsConnecting = false;
            IsDisposing = false;
            IsErrored = false;
            IsIgnored = false;
            IsStopping = false;

            var fixtureState = _eventState.GetFixtureState(resource.Id);

            IsFixtureEnded = fixtureState != null ? fixtureState.MatchStatus == MatchStatus.MatchOver : _resource.IsMatchOver;
            IsFixtureSetup = (_resource.MatchStatus == MatchStatus.Setup || _resource.MatchStatus == MatchStatus.Ready);
            IsFixtureDeleted = false;
            IsInPlay = fixtureState != null ? fixtureState.MatchStatus == MatchStatus.InRunning : _resource.MatchStatus == MatchStatus.InRunning;
            _currentEpoch = fixtureState != null ? fixtureState.Epoch : -1;
            
            _Stats = StatsManager.Instance[string.Concat("adapter.core.sport.", resource.Sport)].GetHandle();

            SetupListener();
            _logger.DebugFormat("Listener instantiated for {0}", resource);

        }
Beispiel #4
0
        public bool WriteEvent(IEventDefinition def, IEventState state)
        {
            lock (_accessor)
            {
                string cmd;
                cmd  = "INSERT INTO Events VALUES (";
                cmd += "'" + def.Id + "', ";
                cmd += "'" + state.FormatText(def.Text) + "', ";
                cmd += "'" + state.Time.ToString("yyyy-MM-dd HH:mm:ss.fff") + "', ";
                cmd += "'" + (int)state.GetCause() + "');";

                _accessor.ExeсCommand(cmd);
            }

            return(true);
        }
        void source_EventChanged(IEventDefinition ev, IEventState state)
        {
            if (!_isConnected && !(state is FreeSCADA.Common.Events.States.StartedEventState))
            {
                return;
            }
            try
            {
                SmsSubmitPdu[] pdus = _settings.TelNumbers.Cast <TelNumElement>().Select(t => new SmsSubmitPdu(state.FormatText(ev.Text), t.TelNum, (byte)DataCodingScheme.GeneralCoding.Alpha16Bit)).ToArray();

                _comm.SendMessages(pdus);
            }
            catch (Exception e)
            {
                Env.Current.Logger.LogInfo(e.Message);
            }
        }
        public void UpdateEvent(IEventDefinition def, IEventState state)
        {
            var ev = _events.Where(evm => evm.Definition.Id == def.Id).SingleOrDefault();

            if (ev == null)
            {
                _events.Insert(0, ev = new Event(def, this));
            }
            state.UpdateEvent(ev);

            if (!ev.IsActive)
            {
                _events.Remove(ev);
            }
            if (EventChanged != null)
            {
                EventChanged(ev.Definition, state);
            }
        }
        protected override IListener CreateStreamListenerObject(IResourceFacade resource, IAdapterPlugin platformConnector, IEventState eventState,
            IStateManager stateManager)
        {
            var streamListener = base.CreateStreamListenerObject(resource, platformConnector, eventState, stateManager);

            var streamListenerObject = streamListener as StreamListener;
            if (streamListenerObject != null)
            {
                streamListenerObject.OnConnected += StreamListenerConnected;
                streamListenerObject.OnDisconnected += StreamListenerDisconnected;
                streamListenerObject.OnError += StreamListenerErrored;
                streamListenerObject.OnFlagsChanged += StreamListenerFlagsChanged;
                streamListenerObject.OnBeginSnapshotProcessing += StreamListenerSnapshot;
                streamListenerObject.OnFinishedSnapshotProcessing += StreamListenerFinishedProcessingUpdate;
                streamListenerObject.OnBeginStreamUpdateProcessing += StreamListenerBeginStreamUpdate;
                streamListenerObject.OnFinishedStreamUpdateProcessing += StreamListenerFinishedProcessingUpdate;
                streamListenerObject.OnSuspend += StreamListenerSuspended;
                streamListenerObject.OnStop += StreamListenerStop;
            }
            
            return streamListener;
        }
 public StreamListenerManager(ISettings settings)
 {
     _settings  = settings;
     EventState = Model.EventState.Create(new FileStoreProvider(settings.StateProviderPath), settings);
 }
 protected virtual IListener CreateStreamListenerObject(IResourceFacade resource, IAdapterPlugin platformConnector, IEventState eventState, IStateManager stateManager)
 {
     return(new StreamListener(resource, platformConnector, eventState, stateManager, _settings));
 }
        protected override IListener CreateStreamListenerObject(IResourceFacade resource, IAdapterPlugin platformConnector, IEventState eventState,
                                                                IStateManager stateManager)
        {
            var streamListener = base.CreateStreamListenerObject(resource, platformConnector, eventState, stateManager);

            var streamListenerObject = streamListener as StreamListener;

            if (streamListenerObject != null)
            {
                streamListenerObject.OnConnected                      += StreamListenerConnected;
                streamListenerObject.OnDisconnected                   += StreamListenerDisconnected;
                streamListenerObject.OnError                          += StreamListenerErrored;
                streamListenerObject.OnFlagsChanged                   += StreamListenerFlagsChanged;
                streamListenerObject.OnBeginSnapshotProcessing        += StreamListenerSnapshot;
                streamListenerObject.OnFinishedSnapshotProcessing     += StreamListenerFinishedProcessingUpdate;
                streamListenerObject.OnBeginStreamUpdateProcessing    += StreamListenerBeginStreamUpdate;
                streamListenerObject.OnFinishedStreamUpdateProcessing += StreamListenerFinishedProcessingUpdate;
                streamListenerObject.OnSuspend                        += StreamListenerSuspended;
                streamListenerObject.OnStop += StreamListenerStop;
            }

            return(streamListener);
        }
 public StreamListenerManager(ISettings settings)
 {
     _settings = settings;
     EventState = Model.EventState.Create(new FileStoreProvider(settings.StateProviderPath), settings);
 }
 protected virtual IListener CreateStreamListenerObject(IResourceFacade resource, IAdapterPlugin platformConnector, IEventState eventState, IStateManager stateManager)
 {
     return new StreamListener(resource, platformConnector, eventState, stateManager,_settings);
 }
 void EventsSummary_EventChanged(IEventDefinition ev, IEventState state)
 {
     dbWriter.WriteEvent(ev, state);
 }
Beispiel #14
0
 public void UpdateEvent(IEventDefinition def, IEventState state)
 {
 }
Beispiel #15
0
 void _evsource_EventChanged(IEventDefinition ev, IEventState state)
 {
 }