public FromSensorToConsumerMessage SensorExchange(
			FromConsumerToSensorMessage ToSensorMessage)
		{
			var SensorMessageLast = this.SensorMessageLast;

			try
			{
				var FromSensorAppMessage = SensorAppManager?.ConsumerExchange(
					new FromConsumerToSensorProxyMessage(
						ToSensorMessage.SerializeSingleBib3RefNezDifProtobuf()));

				if (null == FromSensorAppMessage)
				{
					return null;
				}

				var AppSpecific = FromSensorAppMessage.AppSpecific;

				SensorMessageLast =
					AppSpecific.DeSerializeProtobufBib3RefNezDif().FirstOrDefaultNullable() as FromSensorToConsumerMessage;

				return SensorMessageLast;
			}
			finally
			{
				MemoryMeasurementLast = SensorMessageLast?.MemoryMeasurement ?? MemoryMeasurementLast;
				WindowMeasurementLast = SensorMessageLast?.WindowMeasurement ?? WindowMeasurementLast;

				this.SensorMessageLast = SensorMessageLast;
			}
		}
Exemple #2
0
        /*
         * public void FromConsumer(Optimat.EveOnline.CustomBot.FromCustomBotSnapshot Snapshot)
         * {
         *      SensorAppManager.FromConsumer(new BotEngine.Sensor.FromConsumerToSensorProxyMessage(
         *              Snapshot.SerializeSingleBib3RefNezDifProtobuf()));
         * }
         */

        /*
         * 16.04.15
         *
         * public void FromServer(BotEngine.Interface.FromServerToInterfaceAppManagerMessage Message)
         * {
         *      SensorAppManager.FromServer(Message);
         * }
         *
         * public BotEngine.Interface.FromInterfaceAppManagerToServerMessage ToServer()
         * {
         *      return SensorAppManager.ToServer();
         * }
         */

        public FromSensorToConsumerMessage SensorExchange(
            FromConsumerToSensorMessage ToSensorMessage)
        {
            return(null);               //	16.04.16

            FromSensorToConsumerMessage SensorMessageLast = this.SensorMessageLast;

            try
            {
                BotEngine.Interface.InterfaceAppDomainSetup.Setup();

                var FromSensorAppMessage = SensorAppManager?.ConsumerExchange(
                    new BotEngine.Interface.FromConsumerToInterfaceProxyMessage(
                        ToSensorMessage.SerializeSingleBib3RefNezDifProtobuf()));

                if (null == FromSensorAppMessage)
                {
                    return(null);
                }

                var AppSpecific = FromSensorAppMessage.AppSpecific;

                //  if (null != AppSpecific)
                {
                    /*
                     * SensorMessageLast =
                     * Optimat.EveOnline.CustomBot.ToCustomBotSnapshot.DeserializeFromString<Optimat.EveOnline.CustomBot.ToCustomBotSnapshot>(AppSpecific);
                     */

                    /*
                     * SensorMessageLast =
                     * Convert.FromBase64String(AppSpecific).ProtobufDeserialize<Optimat.EveOnline.CustomBot.ToCustomBotSnapshot>();
                     */

                    /*
                     * SensorMessageLast =
                     * Convert.FromBase64String(AppSpecific).UniversalSerializerDeSerialize<Optimat.EveOnline.CustomBot.ToCustomBotSnapshot>();
                     */

                    SensorMessageLast =
                        AppSpecific.DeSerializeProtobufBib3RefNezDif().FirstOrDefaultNullable() as FromSensorToConsumerMessage;

                    TempDebugListeMessage.Add(SensorMessageLast);
                    TempDebugListeMessage.ListeKürzeBegin(44);

                    return(SensorMessageLast);
                }
            }
            finally
            {
                MemoryMeasurementLast = SensorMessageLast?.MemoryMeasurement ?? MemoryMeasurementLast;
                WindowMeasurementLast = SensorMessageLast?.WindowMeasurement ?? WindowMeasurementLast;

                this.SensorMessageLast = SensorMessageLast;
            }
        }
		public void Exchange(
			int? EveOnlineClientProcessId,
			Int64 RequestedMeasurementTime,
			Action<BotEngine.Interface.FromProcessMeasurement<MemoryStruct.IMemoryMeasurement>> CallbackMeasurementMemoryNew)
		{
			BotEngine.Interface.FromProcessMeasurement<MemoryStruct.IMemoryMeasurement> MeasurementMemoryNew = null;

			lock (Lock)
			{
				var Time = Bib3.Glob.StopwatchZaitMiliSictInt();

				var ServerExchangeLastAge = Time - ServerExchangeLastTime;

				if (ServerExchangeTimeDistanceMin <= ServerExchangeLastAge)
				{
					if (LicenseClient?.AuthCompleted ?? false)
					{
						ServerExchangeLastTime = Time;

						var LicenseServerSessionId = LicenseClient?.ExchangeAuthLast?.Value?.Response?.SessionId;

						var ToServerMessage = new BotEngine.Interface.FromClientToServerMessage()
						{
							SessionId = LicenseServerSessionId,
							Interface = SensorAppManager?.ToServer(),
							Time = Bib3.Glob.StopwatchZaitMiliSictInt(),
						};

						var FromServerMessage = LicenseClient?.ExchangePayload(ToServerMessage);

						if (null != FromServerMessage)
						{
							SensorAppManager.FromServer(FromServerMessage.Interface);
						}
					}
					else
					{
						LicenseClient?.ExchangeAuth();
					}
				}

				var MeasurementMemoryReceivedLastTime = MeasurementMemoryReceivedLast?.End;

				var ToSensorMessage = new FromConsumerToSensorMessage()
				{
					RequestedMeasurementProcessId = EveOnlineClientProcessId,
					MeasurementMemoryRequestTime = RequestedMeasurementTime,
					MeasurementMemoryReceivedLastTime = MeasurementMemoryReceivedLastTime,
				};

				var FromSensorAppMessage = SensorAppManager?.ConsumerExchange(new BotEngine.Interface.FromConsumerToInterfaceProxyMessage()
				{
					AppSpecific = ToSensorMessage.SerializeSingleBib3RefNezDifProtobuf(),
				});

				if (null == FromSensorAppMessage)
				{
					return;
				}

				var FromSensorAppMessagePortionAppSpecific = FromSensorAppMessage.AppSpecific;

				var SensorMessageEveOnline =
					FromSensorAppMessagePortionAppSpecific.DeSerializeProtobufBib3RefNezDif()?.FirstOrDefault() as FromSensorToConsumerMessage;

				var MeasurementMemory = SensorMessageEveOnline?.MemoryMeasurement;

				if (null == MeasurementMemory)
				{
					return;
				}

				if (MeasurementMemory?.End == MeasurementMemoryReceivedLast?.End)
				{
					return;
				}

				MeasurementMemoryReceivedLast = MeasurementMemory;

				MeasurementMemoryNew = MeasurementMemory;
			}

			if (null != MeasurementMemoryNew)
			{
				CallbackMeasurementMemoryNew?.Invoke(MeasurementMemoryNew);
			}
		}
Exemple #4
0
        public void Exchange(
            int?EveOnlineClientProcessId,
            Int64 RequestedMeasurementTime,
            Action <BotEngine.Interface.FromProcessMeasurement <MemoryStruct.IMemoryMeasurement> > CallbackMeasurementMemoryNew)
        {
            BotEngine.Interface.FromProcessMeasurement <MemoryStruct.IMemoryMeasurement> MeasurementMemoryNew = null;

            lock (Lock)
            {
                var Time = Bib3.Glob.StopwatchZaitMiliSictInt();

                var ServerExchangeLastAge = Time - ServerExchangeLastTime;

                if (ServerExchangeTimeDistanceMin <= ServerExchangeLastAge)
                {
                    if (LicenseClient?.AuthCompleted ?? false)
                    {
                        ServerExchangeLastTime = Time;

                        var LicenseServerSessionId = LicenseClient?.ExchangeAuthLast?.Value?.Response?.SessionId;

                        var ToServerMessage = new BotEngine.Interface.FromClientToServerMessage()
                        {
                            SessionId = LicenseServerSessionId,
                            Interface = SensorAppManager?.ToServer(),
                            Time      = Bib3.Glob.StopwatchZaitMiliSictInt(),
                        };

                        var FromServerMessage = LicenseClient?.ExchangePayload(ToServerMessage);

                        if (null != FromServerMessage)
                        {
                            SensorAppManager.FromServer(FromServerMessage.Interface);
                        }
                    }
                    else
                    {
                        LicenseClient?.ExchangeAuth();
                    }
                }

                var MeasurementMemoryReceivedLastTime = MeasurementMemoryReceivedLast?.End;

                var ToSensorMessage = new FromConsumerToSensorMessage()
                {
                    RequestedMeasurementProcessId     = EveOnlineClientProcessId,
                    MeasurementMemoryRequestTime      = RequestedMeasurementTime,
                    MeasurementMemoryReceivedLastTime = MeasurementMemoryReceivedLastTime,
                };

                var FromSensorAppMessage = SensorAppManager?.ConsumerExchange(new BotEngine.Interface.FromConsumerToInterfaceProxyMessage()
                {
                    AppSpecific = ToSensorMessage.SerializeSingleBib3RefNezDifProtobuf(),
                });

                if (null == FromSensorAppMessage)
                {
                    return;
                }

                var FromSensorAppMessagePortionAppSpecific = FromSensorAppMessage.AppSpecific;

                var SensorMessageEveOnline =
                    FromSensorAppMessagePortionAppSpecific.DeSerializeProtobufBib3RefNezDif()?.FirstOrDefault() as FromSensorToConsumerMessage;

                var MeasurementMemory = SensorMessageEveOnline?.MemoryMeasurement;

                if (null == MeasurementMemory)
                {
                    return;
                }

                if (MeasurementMemory?.End == MeasurementMemoryReceivedLast?.End)
                {
                    return;
                }

                MeasurementMemoryReceivedLast = MeasurementMemory;

                MeasurementMemoryNew = MeasurementMemory;
            }

            if (null != MeasurementMemoryNew)
            {
                CallbackMeasurementMemoryNew?.Invoke(MeasurementMemoryNew);
            }
        }