public ACSConfirmationEvent Parse(IStructReader reader) { Logger logger = LogManager.GetLogger("TSAPIClient"); try { logger.Info("ACSOpenStreamConfParser.Parse: eventType=ACS_OPEN_STREAM_CONF"); logger.Info("ACSOpenStreamConfParser.Parse: try to read the ACSOpenStreamConfEvent_t confirmation event..."); object result; if (reader.TryReadStruct(typeof(ACSOpenStreamConfEvent_t), out result)) { logger.Info("ACSOpenStreamConfParser.Parse: successfully read the ACSOpenStreamConfEvent_t confirmation event!"); ACSOpenStreamConfEvent_t acsopen = (ACSOpenStreamConfEvent_t)result; ACSConfirmationEvent acsConfirmation = new ACSConfirmationEvent(); acsConfirmation.u.acsopen = acsopen; return(acsConfirmation); } return(null); } catch (Exception err) { logger.Error(string.Format("Error in ACSOpenStreamConfParser.Parse: {0}", err)); } return(null); }
public ACSConfirmationEvent Parse(IStructReader reader) { Logger logger = LogManager.GetLogger("TSAPIClient"); try { logger.Info("ACSUniversalFailureConfParser.Parse: eventType=ACS_UNIVERSAL_FAILURE_CONF"); logger.Info("ACSUniversalFailureConfParser.Parse: try to read the ACSUniversalFailureConfEvent_t confirmation event..."); object result; if (reader.TryReadStruct(typeof(ACSUniversalFailureConfEvent_t), out result)) { logger.Info("ACSUniversalFailureConfParser.Parse: successfully read the ACSUniversalFailureConfEvent_t confirmation event!"); ACSUniversalFailureConfEvent_t failureEvent = (ACSUniversalFailureConfEvent_t)result; logger.Info("ACSUniversalFailureConfParser.Parse: failureEvent={0}", failureEvent.error); ACSConfirmationEvent acsConfirmation = new ACSConfirmationEvent(); acsConfirmation.u.failureEvent = failureEvent; return acsConfirmation; } return null; } catch (Exception err) { logger.Error(string.Format("Error in ACSUniversalFailureConfParser.Parse: {0}", err)); } return null; }
public ACSConfirmationEvent Parse(IStructReader reader) { Logger logger = LogManager.GetLogger("TSAPIClient"); try { logger.Info("ACSSetHeartbeatIntervalConfParser.Parse: eventType=ACS_SET_HEARTBEAT_INTERVAL_CONF"); logger.Info("ACSSetHeartbeatIntervalConfParser.Parse: try to read the ACSSetHeartbeatIntervalConfEvent_t confirmation event..."); object result; if (reader.TryReadStruct(typeof(ACSSetHeartbeatIntervalConfEvent_t), out result)) { logger.Info("ACSSetHeartbeatIntervalConfParser.Parse: successfully read the ACSSetHeartbeatIntervalConfEvent_t confirmation event!"); ACSSetHeartbeatIntervalConfEvent_t acssetheartbeatinterval = (ACSSetHeartbeatIntervalConfEvent_t)result; ACSConfirmationEvent acsConfirmation = new ACSConfirmationEvent(); acsConfirmation.u.acssetheartbeatinterval = acssetheartbeatinterval; return(acsConfirmation); } return(null); } catch (Exception err) { logger.Error(string.Format("Error in ACSSetHeartbeatIntervalConfParser.Parse: {0}", err)); } return(null); }
protected void Acsconfirmation(ACSConfirmationEvent data, eventTypeACS eventType) { switch (eventType) { case eventTypeACS.ACS_ABORT_STREAM: AlertClose(); break; case eventTypeACS.ACS_CLOSE_STREAM_CONF: AlertClose(); break; case eventTypeACS.ACS_OPEN_STREAM_CONF: OnConnnectedEvent?.Invoke(this, null); CbTaskNew.Set(data.invokeID, new NullTsapiReturn()); StatusConnection = StatusConection.Open; _waitClient.Set(); break; case eventTypeACS.ACS_UNIVERSAL_FAILURE_CONF: if (OnUniversalFailureEvent != null) { OnUniversalFailureSysEvent?.Invoke(this, new UniversalFailureSys { Error = data.failureEvent.error, EventType = eventType }); } CbTaskNew.Clear(); AnalizeFailurs(data.failureEvent.error); break; default: Log.Error($"{LinkName} : Error ACSCONFIRMATION ", new ProgrammingExeption($"Не обработан event '{eventType}' в ACSCONFIRMATION")); throw new ProgrammingExeption($"Не обработан event '{eventType}' в ACSCONFIRMATION"); } }
internal CSTAEvent_t Read() { try { logger.Info("EventReader.Read: read event header..."); object result; if (m_FrameReader.TryReadStruct(typeof(ACSEventHeader_t), out result)) { ACSEventHeader_t eventHeader = (ACSEventHeader_t)result; logger.Info("EventReader.Read: acsHandle={0};eventClass={1};eventType={2};", eventHeader.acsHandle, eventHeader.eventClass, eventHeader.eventType); switch (eventHeader.eventClass) { case Constants.CSTACONFIRMATION: #region CSTACONFIRMATION int invokeID = m_FrameReader.ReadInt32(); logger.Info("EventReader.Read.CSTACONFIRMATION: invokeID={0};", invokeID); logger.Info("EventReader.Read.CSTACONFIRMATION: Getting CSTAConfParser from parserFactory..."); ICSTAConfirmationParser cstaConfParser = m_CSTAConfParserFactory.CreateParser(eventHeader.eventType); if (cstaConfParser != null) { CSTAConfirmationEvent cstaConfirmation = cstaConfParser.Parse(m_FrameReader); cstaConfirmation.invokeID = invokeID; CSTAEvent_t cstaEvent = new CSTAEvent_t() { eventHeader = eventHeader, Event = { cstaConfirmation = cstaConfirmation } }; return(cstaEvent); } logger.Info("EventReader.Read.CSTACONFIRMATION: ICSTAConfParserFactory failed to return parser!!"); #endregion CSTACONFIRMATION break; case Constants.CSTAUNSOLICITED: #region CSTAUNSOLICITED int xref = m_FrameReader.ReadInt32(); logger.Info("EventReader.Read.CSTAUNSOLICITED: xref={0};", xref); logger.Info("EventReader.Read.CSTAUNSOLICITED: Getting CSTAUnsolicitedParser from parserFactory..."); ICSTAUnsolicitedParser cstaUnsolicitedParser = m_CSTAUnsolicitedParserFactory.CreateParser(eventHeader.eventType); if (cstaUnsolicitedParser != null) { CSTAUnsolicitedEvent cstaUnsolicited = cstaUnsolicitedParser.Parse(m_FrameReader); cstaUnsolicited.monitorCrossRefId = xref; CSTAEvent_t cstaEvent = new CSTAEvent_t() { eventHeader = eventHeader, Event = { cstaUnsolicited = cstaUnsolicited } }; return(cstaEvent); } logger.Info("EventReader.Read.CSTAUNSOLICITED: ICSTAUnsolicitedParserFactory failed to return parser!!"); #endregion CSTAUNSOLICITED break; case Constants.ACSCONFIRMATION: #region ACSCONFIRMATION invokeID = m_FrameReader.ReadInt32(); logger.Info("EventReader.Read.ACSCONFIRMATION: invokeID={0};", invokeID); logger.Info("EventReader.Read.ACSCONFIRMATION: Getting ACSConfirmationParser from parserFactory..."); IACSConfirmationParser acsConfParser = m_ACSConfParserFactory.CreateParser(eventHeader.eventType); if (acsConfParser != null) { ACSConfirmationEvent acsConfirmation = acsConfParser.Parse(m_FrameReader); acsConfirmation.invokeID = invokeID; CSTAEvent_t cstaEvent = new CSTAEvent_t() { eventHeader = eventHeader, Event = { acsConfirmation = acsConfirmation } }; return(cstaEvent); } logger.Info("EventReader.Read.ACSCONFIRMATION: IACSConfirmationParserFactory failed to return parser!!"); #endregion ACSCONFIRMATION break; case Constants.ACSUNSOLICITED: #region ACSUNSOLICITED logger.Info("ACSUNSOLICITED :: Getting ACSUnsolicitedParser from parserFactory..."); IACSUnsolicitedParser acsUnsolicitedParser = m_ACSUnsolicitedParserFactory.CreateParser(eventHeader.eventType); if (acsUnsolicitedParser != null) { ACSUnsolicitedEvent acsUnsolicited = acsUnsolicitedParser.Parse(m_FrameReader); CSTAEvent_t cstaEvent = new CSTAEvent_t() { eventHeader = eventHeader, Event = { acsUnsolicited = acsUnsolicited } }; return(cstaEvent); } logger.Info("ACSUNSOLICITED :: IACSUnsolicitedParserFactory failed to return parser!!"); #endregion ACSUNSOLICITED break; } } } catch (Exception err) { logger.Error(string.Format("Error in EventReader.ReadEvent: {0}", err)); } return(null); }