diff --git a/VpSharp/src/Internal/Connection.cs b/VpSharp/src/Internal/Connection.cs index 648da9b..c5126ff 100644 --- a/VpSharp/src/Internal/Connection.cs +++ b/VpSharp/src/Internal/Connection.cs @@ -4,7 +4,7 @@ using VpSharp.NativeApi; namespace VpSharp.Internal; -internal sealed class Connection +internal sealed class Connection : IDisposable { private readonly object _lockObject; private readonly Socket _socket; @@ -33,6 +33,12 @@ internal sealed class Connection return (int) NetworkReturnCode.Success; } + public void Dispose() + { + _timer?.Dispose(); + _socket.Dispose(); + } + private static void ConnectCallback(IAsyncResult ar) { var connection = ar.AsyncState as Connection; @@ -83,6 +89,7 @@ internal sealed class Connection var connection = handle.Target as Connection; connection?.BeforeDestroy(); handle.Free(); + connection?.Dispose(); } private void HandleTimeout()