예제 #1
0
        public object GetPayload(bool includeNonce = false)
        {
            var payload = new PubsubFrame <PubsubOutData>
            {
                Type = _defaultType,
                Data = new PubsubOutData
                {
                    Topics = Topics
                }
            };

            if (_authToken != null)
            {
                payload.Data.AuthToken = _authToken;
            }
            if (includeNonce)
            {
                payload.Nonce = _nonce;
            }
            return(payload);
        }
예제 #2
0
        private async Task ProcessMessageAsync(PubsubFrame <string> msg)
        {
            var    data  = msg.GetData <PubsubInData>();
            string topic = data.Topic.Split('.').First();

            switch (topic)
            {
            //case "channel-bits-events-v1":
            //    break;
            case "channel-subscribe-events-v1":
                var model = data.GetMessage <Subscription>();
                await _subscriptionReceived.InvokeAsync(PubsubSubscription.Create(this, model));

                break;

            //case "whispers":
            //    break;
            default:
                await _anonymousReceivedEvent.InvokeAsync(data.Message);

                break;
            }
        }