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