浏览代码

Fixed problem with MvK not sending data to MvS

Yentl Van Tendeloo 9 年之前
父节点
当前提交
e11091b3f2
共有 1 个文件被更改,包括 21 次插入2 次删除
  1. 21 2
      model/model.py

+ 21 - 2
model/model.py

@@ -128,6 +128,19 @@ class MvKState(object):
         self.inputs = []
         self.outputs = []
         self.users = []
+        self.reply = None
+        self.phase = None
+        self.commands = None
+
+    def __str__(self):
+        return "\nMvK: %s\n" % self.mvk + \
+                "waiting: %s\n" % self.waiting + \
+                "inputs: %s\n" % self.inputs + \
+                "outputs: %s\n" % self.outputs + \
+                "users: %s\n" % self.users + \
+                "reply: %s\n" % self.reply + \
+                "phase: %s\n" % self.phase + \
+                "commands: %s\n" % self.commands
 
 class ModelverseKernel(AtomicDEVS):
     def __init__(self):
@@ -160,6 +173,10 @@ class ModelverseKernel(AtomicDEVS):
         return self.state
 
     def intTransition(self):
+        if self.state.commands is not None:
+            self.state.commands = None
+            return self.state
+
         if self.state.mvk is None:
             # Initializing
             self.state.waiting = True
@@ -212,12 +229,14 @@ class ModelverseKernel(AtomicDEVS):
         return {}
 
     def timeAdvance(self):
-        if self.state.waiting:
+        if self.state.commands:
+            return 0
+        elif self.state.waiting:
             return float("inf")
         elif self.state.mvk is None:  
             return 0
         else:
-            return float("inf")
+            return 0
 
 class MvIState():
     def __init__(self):