Exemplo n.º 1
0
        internal void NotifySyncChannelMessage(DUCE.Channel channel)
        {
            // empty the channel messages.
            DUCE.MilMessage.Message message; 
            while (channel.PeekNextMessage(out message))
            { 
                switch (message.Type) 
                {
                    case DUCE.MilMessage.Type.Caps: 
                    case DUCE.MilMessage.Type.SyncModeStatus:
                    case DUCE.MilMessage.Type.Presented:
                        break;
                    case DUCE.MilMessage.Type.PartitionIsZombie: 
                        // we remove the [....] channels so that if the app handles the exception
                        // it will get a new partition on the next [....] render request. 
                        _channelManager.RemoveSyncChannels(); 
                        NotifyPartitionIsZombie(message.HRESULTFailure.HRESULTFailureCode);
                        break; 

                    default:
                        HandleInvalidPacketNotification();
                        break; 
                }
            } 
        }