using System; using Top.Api; namespace Taobao.Top.Link.Channel { /// the channel that server bound /// public abstract class ServerChannel { protected ITopLogger Logger { get; private set; } /// get server address /// protected int Port { get; private set; } /// get or set connection max idle time that do not send or receive /// public int MaxIdleTimeSeconds { get; set; } /// while message received on this channel /// public EventHandler OnMessage { get; set; } /// while error occur on this channel /// public EventHandler OnError { get; set; } public ServerChannel(ITopLogger logger, int port) { this.Logger = logger; this.Port = port; } /// start server /// public abstract void Start(); /// stop server /// public abstract void Stop(); } }