예제 #1
0
        private void SubscribeReceived(IMqttSession session, MqttSubscribeMessage subscribeMessage)
        {
            MqttSubscribeAckMessage subAck = new MqttSubscribeAckMessage().WithMessageIdentifier(subscribeMessage.VariableHeader.MessageIdentifier);

            AddSubscriptions(session, subscribeMessage.Payload.Subscriptions);
            session.Write(subAck);
            PublishMessages(session, storageProvider.GetRetained(subscribeMessage.Payload.Subscriptions), true);
        }
예제 #2
0
        private async Task SubscribeReceived(IMqttSession session, NetworkStream stream, SubscribeMessage subscribeMessage)
        {
            //TODO: Deal with subscriptions that are denied.
            SubAckMessage subAck = new SubAckMessage(subscribeMessage.PacketId, await sessionProvider.AddSubscriptions(session, subscribeMessage.Subscriptions));
            await subAck.Write(stream);

            await PublishMessages(session, stream, await storageProvider.GetRetained(subscribeMessage.Subscriptions), true);
        }