Ignore:
Timestamp:
05/05/12 11:40:28 (12 years ago)
Author:
István Váradi <ivaradi@…>
Branch:
default
Phase:
public
Message:

Made the sending of the closing message more reliable

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/mlx/fs.py

    r134 r152  
    6464        self.daemon = True
    6565
    66     def add(self, messageType, text, duration):
     66    def add(self, messageType, text, duration, disconnect):
    6767        """Add the given message to the requested messages."""
    6868        with self._requestCondition:
    69             self._messages.append((messageType, text, duration))
     69            self._messages.append((messageType, text, duration,
     70                                   disconnect))
    7071            self._requestCondition.notify()
    7172
     
    8081        """Perform the thread's operation."""
    8182        while True:
    82             (messageType, text, duration) = (None, None, None)
     83            (messageType, text, duration, disconnect) = (None, None, None, None)
    8384            with self._requestCondition:
    8485                now = time.time()
     
    9697
    9798                    if self._messages:
    98                         (messageType, text, duration) = self._messages[0]
     99                        (messageType, text,
     100                         duration, disconnect) = self._messages[0]
    99101                        del self._messages[0]
    100102
    101103            if text is not None:       
    102                 self._sendMessage(messageType, text, duration)
    103 
    104     def _sendMessage(self, messageType, text, duration):
     104                self._sendMessage(messageType, text, duration, disconnect)
     105
     106    def _sendMessage(self, messageType, text, duration, disconnect):
    105107        """Send the message and setup the next message time."""
    106108        messageLevel = self._config.getMessageTypeLevel(messageType)
     
    110112        if (messageLevel==const.MESSAGELEVEL_FS or \
    111113            messageLevel==const.MESSAGELEVEL_BOTH):
    112             self._simulator.sendMessage("[MLX] " + text, duration = duration)
     114            if disconnect:
     115                self._simulator.disconnect("[MLX] " + text,
     116                                           duration = duration)
     117            else:
     118                self._simulator.sendMessage("[MLX] " + text,
     119                                            duration = duration)
     120        elif disconnecte:
     121            self._simulator.disconnect()
    113122        self._nextMessageTime = time.time() + duration
    114123
     
    129138#-------------------------------------------------------------------------------
    130139
    131 def sendMessage(messageType, text, duration = 3):
     140def sendMessage(messageType, text, duration = 3, disconnect = False):
    132141    """Send the given message of the given type into the simulator and/or play
    133142    a corresponding sound."""
    134143    global _messageThread
    135144    if _messageThread is not None:
    136         _messageThread.add(messageType, text, duration)
     145        _messageThread.add(messageType, text, duration, disconnect)
    137146
    138147#-------------------------------------------------------------------------------
Note: See TracChangeset for help on using the changeset viewer.