BaseServer.cs 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. //using Edge.Core.Processor;
  2. //using System;
  3. //using Microsoft.EntityFrameworkCore;
  4. //using Microsoft.Extensions.DependencyInjection;
  5. //using Microsoft.Extensions.Logging;
  6. //using System;
  7. //using System.Collections.Generic;
  8. //using System.Linq;
  9. //using System.Text.Json;
  10. //using Edge.Core.UniversalApi;
  11. //using Edge.Core.Processor.Dispatcher.Attributes;
  12. //using System.Threading.Tasks;
  13. //using System.Net.Sockets;
  14. //using Microsoft.Extensions.Logging.Abstractions;
  15. //using System.Net;
  16. //using System.Threading;
  17. //using Edge.Core.Parser.BinaryParser.Util;
  18. //namespace DispenserPartsInfoRetriever
  19. //{
  20. // public class BaseServer : IAppProcessor
  21. // {
  22. // protected CancellationTokenSource cancelServerListeningCts;
  23. // protected System.Timers.Timer heartbeatTimer = new System.Timers.Timer();
  24. // private AppConfigV1 appConfig;
  25. // private IServiceProvider services;
  26. // private ILogger logger = NullLogger.Instance;
  27. // public string MetaConfigName { get; set; }
  28. // public BaseServer(AppConfigV1 appConfig, IServiceProvider services)
  29. // {
  30. // this.appConfig = appConfig;
  31. // this.services = services;
  32. // var loggerFactory = services.GetRequiredService<ILoggerFactory>();
  33. // this.logger = loggerFactory.CreateLogger("DynamicPrivate_DispenserPartsInfoRetriever");
  34. // }
  35. // public void Init(IEnumerable<IProcessor> processors)
  36. // {
  37. // }
  38. // public virtual async Task<bool> Start()
  39. // {
  40. // return true;
  41. // }
  42. // /// <summary>
  43. // ///
  44. // /// </summary>
  45. // /// <param name="value">like input "01234", will return byte[2]: 0x00, byte[1]: 0x12, byte[0]: 0x34</param>
  46. // /// <returns></returns>
  47. // public byte[] StringToBcdHex(string value)
  48. // {
  49. // if (value.Length % 2 != 0) value = "0" + value;
  50. // List<byte> output = new List<byte>();
  51. // for (int i = value.Length - 1; i >= 0; i = i - 2)
  52. // {
  53. // output.Add((byte)(byte.Parse(value[i - 1].ToString()) * 16 + byte.Parse(value[i].ToString())));
  54. // }
  55. // output.Reverse();
  56. // return output.ToArray();
  57. // }
  58. // public async Task<bool> Stop()
  59. // {
  60. // var universalApiHub = this.services.GetRequiredService<UniversalApiHub>();
  61. // await universalApiHub.FireEvent(this, OnAppStateChangeEventName, new OnAppStateChangeEventArg() { State = "Stopped", Reason = "app is stopping" });
  62. // try { this.cancelServerListeningCts?.Cancel(); } catch { }
  63. // try { this.heartbeatTimer?.Stop(); } catch { }
  64. // return true;
  65. // }
  66. // }
  67. //}