NetConstants.cs 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #if DEBUG && !UNITY_WP_8_1 && !UNITY_WSA_8_1
  2. namespace FlyingWormConsole3.LiteNetLib
  3. {
  4. public enum SendOptions
  5. {
  6. Unreliable,
  7. ReliableUnordered,
  8. Sequenced,
  9. ReliableOrdered
  10. }
  11. public static class NetConstants
  12. {
  13. public const int HeaderSize = 1;
  14. public const int SequencedHeaderSize = 3;
  15. public const int FragmentHeaderSize = 6;
  16. public const int DefaultWindowSize = 64;
  17. public const ushort MaxSequence = 32768;
  18. public const ushort HalfMaxSequence = MaxSequence / 2;
  19. //socket
  20. public const string MulticastGroupIPv4 = "224.0.0.1";
  21. public const string MulticastGroupIPv6 = "FF02:0:0:0:0:0:0:1";
  22. public const int SocketBufferSize = 1024*1024; //2mb
  23. public const int SocketTTL = 255;
  24. //protocol
  25. public const int ProtocolId = 1;
  26. public const int MaxUdpHeaderSize = 68;
  27. public const int PacketSizeLimit = ushort.MaxValue - MaxUdpHeaderSize;
  28. public const int MinPacketSize = 576 - MaxUdpHeaderSize;
  29. public const int MinPacketDataSize = MinPacketSize - HeaderSize;
  30. public const int MinSequencedPacketDataSize = MinPacketSize - SequencedHeaderSize;
  31. public static readonly int[] PossibleMtu =
  32. {
  33. 576 - MaxUdpHeaderSize, //Internet Path MTU for X.25 (RFC 879)
  34. 1492 - MaxUdpHeaderSize, //Ethernet with LLC and SNAP, PPPoE (RFC 1042)
  35. 1500 - MaxUdpHeaderSize, //Ethernet II (RFC 1191)
  36. 4352 - MaxUdpHeaderSize, //FDDI
  37. 4464 - MaxUdpHeaderSize, //Token ring
  38. 7981 - MaxUdpHeaderSize //WLAN
  39. };
  40. public static int MaxPacketSize = PossibleMtu[PossibleMtu.Length - 1];
  41. //peer specific
  42. public const int FlowUpdateTime = 1000;
  43. public const int FlowIncreaseThreshold = 4;
  44. public const int DefaultPingInterval = 1000;
  45. }
  46. }
  47. #endif