using System; using System.Collections.Generic; using ZeroLevel.Network.SDL; namespace ZeroLevel.Network { public interface IServer { #region Messages IServer RegisterInbox(string inbox, MessageHandler handler); IServer RegisterInbox(string inbox, MessageHandler handler); // Default inboxe IServer RegisterInbox(MessageHandler handler); IServer RegisterInbox(MessageHandler handler); #endregion #region Requests IServer RegisterInbox(string inbox, RequestHandler handler); IServer RegisterInbox(string inbox, RequestHandler handler); // Default inboxe IServer RegisterInbox(RequestHandler handler); IServer RegisterInbox(RequestHandler handler); #endregion bool ContainsInbox(string inbox); bool ContainsHandlerInbox(string inbox); bool ContainsRequestorInbox(string inbox); IEnumerable CollectInboxInfo(); event Action OnDisconnect; event Action OnConnect; } }