EchoRequest.cs 1.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. using System;
  2. namespace Vinno.IUS.Common.Network.Transfer
  3. {
  4. public class EchoRequest : DictionaryMessage, INoEncryptionMessage, ISystemMessage
  5. {
  6. /// <summary>
  7. /// Gets the token of this echo.
  8. /// </summary>
  9. public string Token { get; }
  10. public EchoRequest(string token) : base(SystemTags.Echo)
  11. {
  12. Token = token;
  13. AddMessage(SystemTags.EchoToken, new StringElement(token));
  14. }
  15. private EchoRequest(Message message) : base(message)
  16. {
  17. Token = GetElement<StringElement>(SystemTags.EchoToken).Value;
  18. }
  19. public static EchoRequest Convert(Message message)
  20. {
  21. try
  22. {
  23. if (message.Tag != SystemTags.Echo)
  24. {
  25. return null;
  26. }
  27. return new EchoRequest(message);
  28. }
  29. catch (Exception)
  30. {
  31. //DoNothing.
  32. }
  33. return null;
  34. }
  35. }
  36. }