WaitingOptions.cs 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. //------------------------------------------------------------------------------
  2. // 此代码版权(除特别声明或在XREF结尾的命名空间的代码)归作者本人若汝棋茗所有
  3. // 源代码使用协议遵循本仓库的开源协议及附加协议,若本仓库没有设置,则按MIT开源协议授权
  4. // CSDN博客:https://blog.csdn.net/qq_40374647
  5. // 哔哩哔哩视频:https://space.bilibili.com/94253567
  6. // Gitee源代码仓库:https://gitee.com/RRQM_Home
  7. // Github源代码仓库:https://github.com/RRQM
  8. // API首页:https://www.yuque.com/rrqm/touchsocket/index
  9. // 交流QQ群:234762506
  10. // 感谢您的下载和使用
  11. //------------------------------------------------------------------------------
  12. //------------------------------------------------------------------------------
  13. namespace TouchSocket.Sockets
  14. {
  15. /// <summary>
  16. /// 适配器筛选
  17. /// </summary>
  18. public enum AdapterFilter
  19. {
  20. /// <summary>
  21. /// 发送和接收都经过适配器
  22. /// </summary>
  23. AllAdapter,
  24. /// <summary>
  25. /// 发送经过适配器,接收不经过
  26. /// </summary>
  27. SendAdapter,
  28. /// <summary>
  29. /// 发送不经过适配器,接收经过
  30. /// </summary>
  31. WaitAdapter,
  32. /// <summary>
  33. /// 全都不经过适配器。
  34. /// </summary>
  35. NoneAll
  36. }
  37. /// <summary>
  38. /// 等待设置
  39. /// </summary>
  40. public class WaitingOptions
  41. {
  42. /// <summary>
  43. /// 适配器筛选
  44. /// </summary>
  45. public AdapterFilter AdapterFilter { get; set; } = AdapterFilter.AllAdapter;
  46. /// <summary>
  47. /// 当Client为Tcp系时。是否在断开连接时立即触发结果。默认会返回null。当<see cref="ThrowBreakException"/>为<see langword="true"/>时,会触发异常。
  48. /// </summary>
  49. public bool BreakTrigger { get; set; }
  50. /// <summary>
  51. /// 远程地址(仅在Udp模式下生效)
  52. /// </summary>
  53. public IPHost RemoteIPHost { get; set; }
  54. /// <summary>
  55. /// 当Client为Tcp系时。是否在断开连接时以异常返回结果。
  56. /// </summary>
  57. public bool ThrowBreakException { get; set; } = true;
  58. }
  59. }