時間ベースのシミュレーションに SimPy を使用しています。
特定のイベントをリッスンし、イベントが発生したときにそのイベントのパラメーターを返す Messager プロセスがあります。
class Messager(Process):
    def __init__(self):
        Process.__init__(self,'messager')
    def monitor(self):
        while True:
            yield waitevent, self, messageEvent
            print messageEvent.signalparam
messager = Messager()
activate(messager,messager.monitor())
これはうまくいきます。ただし、実際には、メッセージャで処理する必要があるイベントが複数あるため、メッセージャがイベントのリストで原因となるイベントの signalparam を返すようにします。
messageEvents = [Event1,Event2,Event3]
class Messager(Process):
    def __init__(self):
        Process.__init__(self,'messager')
    def monitor(self):
        while True:
            yield waitevent, self, messageEvents
            .....
発生したイベントの signalparam にアクセスするにはどうすればよいですか?