using System; using System.Net; namespace ZeroLevel.Services.Network.Contract { public interface IZTransport : IDisposable { event Action OnConnect; event Action OnDisconnect; event EventHandler OnServerMessage; IPEndPoint Endpoint { get; } ZTransportStatus Status { get; } void EnsureConnection(); void Send(Frame frame); void Request(Frame frame, Action callback, Action fail = null); } }