コード例 #1
0
 public void AddSubscriptionClient(SubscriptionClient subClient)
 {
     lock (_subscriptionClients)
     {
         _subscriptionClients.Add(subClient);
     }
 }
コード例 #2
0
        private void ReadPayload()
        {
            lock (_msg.SyncLock)
            {
                if (!_msg.PayloadRead)
                {
                    int pos = ReadVariableHeader();

                    var nameArray = new AutoExpandingArray();
                    while (pos < _msg.MsgBuffer.Length)
                    {
                        string topicName = Frame.DecodeString(_msg.MsgBuffer, ref pos);
                        nameArray.Add(topicName);
                    }

                    _topicNames = new string[nameArray.Count];
                    for (int i = 0; i < nameArray.Count; i++)
                    {
                        _topicNames[i] = (string)nameArray.GetAt(i);
                    }

                    _msg.PayloadRead = true;
                }
            }
        }
コード例 #3
0
 public void AddClient(MqttClient client)
 {
     lock (_syncLock)
     {
         DoAddValidation(client);
         _clientsArray.Add(client);
     }
 }