Browse Source

Add function to get MTU of a peer

NX 7 years ago
parent
commit
84b99d68be
2 changed files with 16 additions and 0 deletions
  1. 11 0
      Source/Managed/ENet.cs
  2. 5 0
      Source/Native/enet.h

+ 11 - 0
Source/Managed/ENet.cs

@@ -572,6 +572,14 @@ namespace ENet {
 			}
 			}
 		}
 		}
 
 
+		public uint MTU {
+			get {
+				CheckCreated();
+
+				return Native.enet_peer_get_mtu(nativePeer);
+			}
+		}
+
 		public PeerState State {
 		public PeerState State {
 			get {
 			get {
 				return nativePeer == IntPtr.Zero ? PeerState.Uninitialized : Native.enet_peer_get_state(nativePeer);
 				return nativePeer == IntPtr.Zero ? PeerState.Uninitialized : Native.enet_peer_get_state(nativePeer);
@@ -842,6 +850,9 @@ namespace ENet {
 		[DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)]
 		[DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)]
 		internal static extern ushort enet_peer_get_port(IntPtr peer);
 		internal static extern ushort enet_peer_get_port(IntPtr peer);
 
 
+		[DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)]
+		internal static extern uint enet_peer_get_mtu(IntPtr peer);
+
 		[DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)]
 		[DllImport(nativeLibrary, CallingConvention = CallingConvention.Cdecl)]
 		internal static extern PeerState enet_peer_get_state(IntPtr peer);
 		internal static extern PeerState enet_peer_get_state(IntPtr peer);
 
 

+ 5 - 0
Source/Native/enet.h

@@ -791,6 +791,7 @@ extern "C" {
     ENET_API enet_uint32         enet_peer_get_id (ENetPeer *);
     ENET_API enet_uint32         enet_peer_get_id (ENetPeer *);
     ENET_API int                 enet_peer_get_ip (ENetPeer *, char * ip, size_t ipLength);
     ENET_API int                 enet_peer_get_ip (ENetPeer *, char * ip, size_t ipLength);
     ENET_API enet_uint16         enet_peer_get_port (ENetPeer *);
     ENET_API enet_uint16         enet_peer_get_port (ENetPeer *);
+    ENET_API enet_uint32         enet_peer_get_mtu (ENetPeer *);
     ENET_API ENetPeerState       enet_peer_get_state (ENetPeer *);
     ENET_API ENetPeerState       enet_peer_get_state (ENetPeer *);
     ENET_API enet_uint32         enet_peer_get_rtt (ENetPeer *);
     ENET_API enet_uint32         enet_peer_get_rtt (ENetPeer *);
     ENET_API enet_uint32         enet_peer_get_lastsendtime (ENetPeer *);
     ENET_API enet_uint32         enet_peer_get_lastsendtime (ENetPeer *);
@@ -4539,6 +4540,10 @@ extern "C" {
         return peer->address.port;
         return peer->address.port;
     }
     }
 
 
+    enet_uint32 enet_peer_get_mtu(ENetPeer *peer) {
+        return peer->mtu;
+    }
+
     ENetPeerState enet_peer_get_state(ENetPeer *peer) {
     ENetPeerState enet_peer_get_state(ENetPeer *peer) {
         return peer->state;
         return peer->state;
     }
     }