using System; using InABox.Clients; using InABox.Core; namespace InABox.Rpc { public interface IRpcClientTransport : IRpcTransport { bool Ping(); DatabaseInfo Info(); void Connect(); void Send(RpcMessage message); TResult Send(TParameters parameters) where TCommand : IRpcCommand where TParameters : IRpcCommandParameters, ISerializeBinary where TResult : IRpcCommandResult, ISerializeBinary, new(); void Disconnect(); event RpcTransportMessageEvent OnMessage; bool IsConnected(); bool IsSecure(); string? ServerName(); } }