public void Send() { _ref = _channel.Socket.MakeRef(); _refEvent = _channel.ReplyEventName(_ref); _receivedResp = null; _sent = false; _channel.On(_refEvent, (payload, reference) => { _receivedResp = payload; MatchReceive(payload); CancelRefEvent(); CancelAfter(); }); StartAfter(); _sent = true; var env = new Envelope() { Topic = _channel.Topic, Event = _event, Payload = _payload, Ref = _ref, }; _channel.Socket.Push(env); }
private void SendHeartbeat() { var env = new Envelope() { Topic = "phoenix", Event = "heartbeat", Payload = new JObject(), Ref = MakeRef(), }; Push(env); }
public void Push(Envelope envelope) { Action callback = () => _conn.Send(JObject.FromObject(envelope).ToString(Formatting.None)); if (IsConnected()) { callback(); } else { _sendBuffer.Add(callback); } }