Phoenix.Push.Receive C# (CSharp) Method

Receive() public method

public Receive ( string status, Action callback ) : Push
status string
callback Action
return Push
    public Push Receive(string status, Action<JObject> callback)
    {
      if (HasReceived(status)) callback((JObject)_receivedResp["response"]);

      _recHooks.Add(new ReceiveHook() { Status = status, Callback = callback });
      return this;
    }

Usage Example

コード例 #1
0
        public Push Leave(TimeSpan?timeout = null)
        {
            _rejoinTimer?.Reset();
            _joinPush.CancelTimeout();

            State = ChannelState.Leaving;

            void TriggerClose()
            {
                if (Socket.HasLogger())
                {
                    Socket.Log(LogLevel.Debug, "channel", $"leave {Topic}");
                }

                Trigger(Message.InBoundEvent.Close);
            }

            var leaveEvent = Message.OutBoundEvent.Leave.Serialized();
            var leavePush  = new Push(this, leaveEvent, null, timeout ?? _timeout);

            leavePush
            .Receive(ReplyStatus.Ok, _ => TriggerClose())
            .Receive(ReplyStatus.Timeout, _ => TriggerClose());
            leavePush.Send();

            if (!CanPush())
            {
                leavePush.Trigger(ReplyStatus.Ok);
            }

            return(leavePush);
        }
All Usage Examples Of Phoenix.Push::Receive