/// <summary> /// Send action to connected clients /// </summary> /// <param name="server"></param> /// <param name="action">action code as string</param> /// <param name="data">data to send to connected clients</param> /// <param name="compression">compress data using deflate if set to true</param> public static void SendAllAction(this EasyTcpServer server, string action, IEasyPacket data, bool compression = false) => server.SendAllAction(action.ToActionCode(), data.Data, compression);
/// <summary> /// Send data to all connected clients /// </summary> /// <param name="server"></param> /// <param name="data">data to send to the connected clients</param> /// <param name="compression">compress data using deflate if set to true</param> public static void SendAll(this EasyTcpServer server, IEasyPacket data, bool compression = false) => server.SendAll(data.Data, compression);
/// <summary> /// Send action to connected clients /// </summary> /// <param name="server"></param> /// <param name="action">action code</param> /// <param name="data">data to send to connected clients</param> /// <param name="compression">compress data using deflate if set to true</param> public static void SendAllAction(this EasyTcpServer server, int action, IEasyPacket data, bool compression = false) => server.SendAllAction(action, data.Data, compression);
/// <summary> /// Send data to remote host /// </summary> /// <param name="client"></param> /// <param name="data">data to send to remote host</param> /// <param name="compression">compress data using deflate if set to true</param> public static void Send(this EasyTcpClient client, IEasyPacket data, bool compression = false) => client.Send(data.Data, compression);
/// <summary> /// Send action to remote host. Then wait and return the reply /// </summary> /// <param name="client"></param> /// <param name="action">action code as string</param> /// <param name="data">data to send to remote host</param> /// <param name="timeout">maximum time to wait for a reply, return null when time expires</param> /// <param name="compression">compress data using deflate if set to true</param> /// <returns>received reply</returns> public static async Task <Message> SendActionAndGetReplyAsync(this EasyTcpClient client, string action, IEasyPacket data, TimeSpan?timeout = null, bool compression = false) => await client.SendActionAndGetReplyAsync(action.ToActionCode(), data.Data, timeout, compression);
/// <summary> /// Send action to remote host /// </summary> /// <param name="client"></param> /// <param name="action">action code as string</param> /// <param name="data">data to send to remote host</param> /// <param name="compression">compress data using deflate if set to true</param> public static void SendAction(this EasyTcpClient client, string action, IEasyPacket data, bool compression = false) => client.SendAction(action.ToActionCode(), data.Data, compression);
/// <summary> /// Send action to remote host /// </summary> /// <param name="client"></param> /// <param name="action">action code</param> /// <param name="data">data to send to remote host</param> /// <param name="compression">compress data using deflate if set to true</param> public static void SendAction(this EasyTcpClient client, int action, IEasyPacket data, bool compression = false) => client.SendAction(action, data.Data, compression);
/// <summary> /// Determines whether the receive data is compressed with deflate by looking for the magic number /// </summary> /// <returns>true if compressed</returns> public static bool IsCompressed(this IEasyPacket packet) => IsCompressed(packet.Data);
/// <summary> /// Send data to remote host. Then wait and return the reply /// </summary> /// <param name="client"></param> /// <param name="data">data to send to remote host</param> /// <param name="timeout">maximum time to wait for a reply, return null when time expires</param> /// <param name="compression">compress data using deflate if set to true</param> /// <returns>received reply</returns> public static Message SendAndGetReply(this EasyTcpClient client, IEasyPacket data, TimeSpan?timeout = null, bool compression = false) => client.SendAndGetReply(data.Data, timeout, compression);
/// <summary> /// Send data to remote host. Then wait and return the reply /// </summary> /// <param name="client"></param> /// <param name="data">data to send to remote host</param> /// <param name="timeout">maximum time to wait for a reply, return null when time expires</param> /// <param name="compression">compress data using deflate if set to true</param> /// <returns>received data or null</returns> public static async Task <Message> SendAndGetReplyAsync(this EasyTcpClient client, IEasyPacket data, TimeSpan?timeout = null, bool compression = false) => await client.SendAndGetReplyAsync(data.Data, timeout, compression);