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