Prechádzať zdrojové kódy

Signal Connected event when a client established a connection to the listener.

Gert Driesen 11 rokov pred
rodič
commit
7a9ba8da32

+ 10 - 0
Renci.SshClient/Renci.SshNet.Tests/Common/AsyncSocketListener.cs

@@ -14,8 +14,10 @@ namespace Renci.SshNet.Tests.Common
         private bool _started;
 
         public delegate void BytesReceivedHandler(byte[] bytesReceived, Socket socket);
+        public delegate void ConnectedHandler(Socket socket);
 
         public event BytesReceivedHandler BytesReceived;
+        public event ConnectedHandler Connected;
 
         public AsyncSocketListener(IPEndPoint endPoint)
         {
@@ -77,6 +79,7 @@ namespace Renci.SshNet.Tests.Common
             try
             {
                 var handler = listener.EndAccept(ar);
+                SignalConnected(handler);
                 var state = new SocketStateObject(handler);
                 handler.BeginReceive(state.Buffer, 0, state.Buffer.Length, 0, ReadCallback, state);
             }
@@ -122,6 +125,13 @@ namespace Renci.SshNet.Tests.Common
                 subscribers(bytesReceived, client);
         }
 
+        private void SignalConnected(Socket client)
+        {
+            var subscribers = Connected;
+            if (subscribers != null)
+                subscribers(client);
+        }
+
         private class SocketStateObject
         {
             public Socket Socket { get; private set; }