using System; using System.Collections.Generic; using ZeroLevel.Models; namespace ZeroLevel.Network { public interface IClientSet { InvokeResult Send(string alias, T data); InvokeResult Send(string alias, string inbox, T data); InvokeResult Request(string alias, Action callback); InvokeResult Request(string alias, string inbox, Action callback); InvokeResult Request(string alias, Trequest request, Action callback); InvokeResult Request(string alias, string inbox, Trequest request, Action callback); InvokeResult SendBroadcast(string alias, T data); InvokeResult SendBroadcast(string alias, string inbox, T data); InvokeResult SendBroadcastByType(string serviceType, T data); InvokeResult SendBroadcastByType(string serviceType, string inbox, T data); InvokeResult SendBroadcastByGroup(string serviceGroup, T data); InvokeResult SendBroadcastByGroup(string serviceGroup, string inbox, T data); InvokeResult RequestBroadcast(string alias, Action> callback); InvokeResult RequestBroadcast(string alias, string inbox, Action> callback); InvokeResult RequestBroadcast(string alias, Trequest data, Action> callback); InvokeResult RequestBroadcast(string alias, string inbox, Trequest data, Action> callback); InvokeResult RequestBroadcastByType(string serviceType, Action> callback); InvokeResult RequestBroadcastByType(string serviceType, string inbox, Action> callback); InvokeResult RequestBroadcastByType(string serviceType, Trequest data, Action> callback); InvokeResult RequestBroadcastByType(string serviceType, string inbox, Trequest data, Action> callback); InvokeResult RequestBroadcastByGroup(string serviceGroup, Action> callback); InvokeResult RequestBroadcastByGroup(string serviceGroup, string inbox, Action> callback); InvokeResult RequestBroadcastByGroup(string serviceGroup, Trequest data, Action> callback); InvokeResult RequestBroadcastByGroup(string serviceGroup, string inbox, Trequest data, Action> callback); } }