public void Send(INUncollatedMessage message, bool reliable, Action <bool> callback, Action <INError> errback) { if (!reliable && TransportType == TransportType.WebSocket) { Logger.Warn("Sending unreliable messages is not supported on WebSocket transport, using reliable instead"); reliable = true; } var stream = new MemoryStream(); message.Payload.WriteTo(stream); Logger.TraceFormatIf(Trace, "SocketWrite: {0}", message.Payload); if (!reliable && stream.Length > 1024) { errback(new NError("Cannot send unreliable messages larger than 1024 bytes")); return; } transport.SendAsync(stream.ToArray(), reliable, (bool completed) => { if (completed) { callback(true); } else { errback(new NError("Message send error")); } }); }
public void Send(INUncollatedMessage message, bool reliable, Action <bool> callback, Action <INError> errback) { _client.Send(message, reliable, (bool done) => { Enqueue(() => callback(done)); }, (INError error) => { Enqueue(() => errback(error)); }); }
public void Send(INUncollatedMessage message, Action <bool> callback, Action <INError> errback) { Send(message, true, callback, errback); }