Exemple #1
0
        public void MessageReceived(AriesClient client, object message)
        {
            PendingDataRequest pendingRequest = null;

            lock (PendingCallbacks)
            {
                var dataPacket = message as DataServiceWrapperPDU;
                if (dataPacket == null)
                {
                    return;
                }

                if (dataPacket.Body is cTSOTopicUpdateMessage)
                {
                    this.ApplyUpdate((cTSOTopicUpdateMessage)dataPacket.Body, NullSecurityContext.INSTANCE);
                }

                if (PendingCallbacks.ContainsKey(dataPacket.SendingAvatarID))
                {
                    pendingRequest = PendingCallbacks[dataPacket.SendingAvatarID];
                    PendingCallbacks.Remove(dataPacket.SendingAvatarID);
                }
            }

            if (pendingRequest != null)
            {
                pendingRequest.Resolve();
            }
        }