| 12345678910111213141516171819202122232425262728293031323334353637 | 
							- using System;
 
- using System.Threading;
 
- using InABox.Clients;
 
- using InABox.Core;
 
- namespace InABox.Rpc
 
- {
 
-     public interface IRpcClientTransport : IRpcTransport
 
-     {
 
-         bool Ping();
 
-         DatabaseInfo? Info();
 
-         
 
-         /// <summary>
 
-         /// Connect to remote server.
 
-         /// </summary>
 
-         /// <param name="ct">Cancellation token to cancel the connection.</param>
 
-         /// <returns><see langword="true"/> if connection success, <see langword="false"/> otherwise.</returns>
 
-         bool Connect(CancellationToken ct = default);
 
-         void Send(RpcMessage message);
 
-         
 
-         TResult Send<TCommand, TParameters, TResult>(TParameters parameters) 
 
-             where TCommand : IRpcCommand<TParameters,TResult> 
 
-             where TParameters : IRpcCommandParameters, ISerializeBinary
 
-             where TResult : IRpcCommandResult, ISerializeBinary, new();
 
-         
 
-         void Disconnect();
 
-         
 
-         event RpcTransportMessageEvent OnMessage;
 
-         bool IsConnected();
 
-         bool IsSecure();
 
-         string? ServerName();
 
-     }
 
- }
 
 
  |