Quellcode durchsuchen

Connect() returns boolean now

Kenric Nugteren vor 1 Jahr
Ursprung
Commit
babefddf8f

+ 5 - 1
InABox.Client.RPC/Transports/IRPCClientTransport.cs

@@ -10,7 +10,11 @@ namespace InABox.Rpc
         bool Ping();
         DatabaseInfo Info();
         
-        void Connect();
+        /// <summary>
+        /// Connect to remote server.
+        /// </summary>
+        /// <returns><see langword="true"/> if connection success, <see langword="false"/> otherwise.</returns>
+        bool Connect();
 
         void Send(RpcMessage message);
         

+ 2 - 1
InABox.Client.RPC/Transports/Pipe/RPCClientPipeTransport.cs

@@ -19,9 +19,10 @@ namespace InABox.Rpc
             _pipe.ExceptionOccurred += PipeExceptionOccurred;
         }
 
-        public override void Connect()
+        public override bool Connect()
         {
             _pipe.ConnectAsync().Wait();
+            return _pipe.IsConnected;
         }
 
         public override bool IsConnected() => _pipe?.IsConnected == true;

+ 1 - 1
InABox.Client.RPC/Transports/RPCClientTransport.cs

@@ -39,7 +39,7 @@ namespace InABox.Rpc
         public event RpcTransportMessageEvent? OnMessage;
         protected void DoMessage(RpcMessage message) => OnMessage?.Invoke(this, new RpcTransportMessageArgs(_session, message));
         
-        public abstract void Connect();
+        public abstract bool Connect();
         public abstract bool IsConnected();
         public abstract bool IsSecure();
         public abstract string? ServerName();

+ 8 - 7
InABox.Client.RPC/Transports/Socket/RPCClientSocketTransport.cs

@@ -109,15 +109,15 @@ namespace InABox.Rpc
 
             var openEvent = new ManualResetEventSlim();
             var open = false;
-            EventHandler onOpen = (s, e) =>
+            void onOpen(object s, EventArgs e)
             {
                 open = true;
                 openEvent.Set();
-            };
-            EventHandler onClose = (s, e) =>
+            }
+            void onClose(object s, EventArgs e)
             {
                 openEvent.Set();
-            };
+            }
 
             client.Opened += onOpen;
             client.Closed += onClose;
@@ -198,13 +198,14 @@ namespace InABox.Rpc
             openEvent.Set();
         }
 
-        public override void Connect()
+        public override bool Connect()
         {
             if(_socket != null)
             {
                 openEvent.Reset();
                 _socket.Open();
                 openEvent.Wait();
+                return _connected;
             }
             else
             {
@@ -235,11 +236,11 @@ namespace InABox.Rpc
                             }
                         });*/
 
-                        return;
+                        return _connected;
                     }
                 }
+                return _connected;
             }
-
         }
 
         public override bool IsConnected() => _connected;//_socket?.State == WebSocketState.Open;

+ 1 - 1
inabox.client.ipc/IPCClient.cs

@@ -38,7 +38,7 @@ namespace InABox.IPC
             {
                 var request = new InfoRequest();
                 PrepareRequest(request, false);
-                var response = Send(IPCMessage.Info(request)).GetResponse<InfoResponse>();
+                var response = Send(IPCMessage.Info(request), 5000).GetResponse<InfoResponse>();
                 return response.Info;
             }
             catch (Exception)