Browse Source

Add function to set the timeout for a peer

nxrighthere 7 years ago
parent
commit
a0f355028b
1 changed files with 20 additions and 8 deletions
  1. 20 8
      Source/Managed/ENet.cs

+ 20 - 8
Source/Managed/ENet.cs

@@ -624,6 +624,12 @@ namespace ENet {
 			Native.enet_peer_ping_interval(nativePeer, interval);
 			Native.enet_peer_ping_interval(nativePeer, interval);
 		}
 		}
 
 
+		public void Timeout(uint timeoutLimit, uint timeoutMinimum, uint timeoutMaximum) {
+			CheckCreated();
+
+			Native.enet_peer_timeout(nativePeer, timeoutLimit, timeoutMinimum, timeoutMaximum);
+		}
+
 		public void Disconnect(uint data) {
 		public void Disconnect(uint data) {
 			CheckCreated();
 			CheckCreated();
 
 
@@ -660,13 +666,16 @@ namespace ENet {
 	}
 	}
 
 
 	public static class Library {
 	public static class Library {
-		public const int maxChannelCount = 0xFF;
-		public const int maxPeers = 0xFFF;
-		public const int throttleScale = 32;
-		public const int throttleAcceleration = 2;
-		public const int throttleDeceleration = 2;
-		public const int throttleInterval = 5000;
-		public const uint version = (2 << 16) | (0 << 8) | (5);
+		public const uint maxChannelCount = 0xFF;
+		public const uint maxPeers = 0xFFF;
+		public const uint throttleScale = 32;
+		public const uint throttleAcceleration = 2;
+		public const uint throttleDeceleration = 2;
+		public const uint throttleInterval = 5000;
+		public const uint timeoutLimit = 32;
+		public const uint timeoutMinimum = 5000;
+		public const uint timeoutMaximum = 30000;
+		public const uint version = (2 << 16) | (0 << 8) | (6);
 
 
 		public static int Initialize() {
 		public static int Initialize() {
 			return Native.enet_initialize();
 			return Native.enet_initialize();
@@ -806,7 +815,10 @@ namespace ENet {
 
 
 		[DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)]
 		[DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)]
 		internal static extern void enet_peer_ping_interval(IntPtr peer, uint pingInterval);
 		internal static extern void enet_peer_ping_interval(IntPtr peer, uint pingInterval);
-	
+
+		[DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)]
+		internal static extern void enet_peer_timeout(IntPtr peer, uint timeoutLimit, uint timeoutMinimum, uint timeoutMaximum);
+
 		[DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)]
 		[DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)]
 		internal static extern void enet_peer_disconnect(IntPtr peer, uint data);
 		internal static extern void enet_peer_disconnect(IntPtr peer, uint data);