internal void StartTimeout()
{
// PhoenixJS: null check implicit
CancelTimeout();
Ref = _channel.Socket.MakeRef();
_refEvent = Channel.ReplyEventName(Ref);
var serializer = _channel.Socket.Opts.MessageSerializer;
_channel.On(_refEvent, message =>
{
CancelRefEvent();
CancelTimeout();
_receivedResp = serializer.MapReply(message.Payload);
MatchReceive(_receivedResp);
});
_delayedExecution =
_channel.Socket.Opts.DelayedExecutor.Execute(() => { Trigger(ReplyStatus.Timeout); }, _timeout);
}