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; } }
/* * 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); } }
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); } }