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);
}
}