echo.xml 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. <class name="Echo">
  2. <relationships>
  3. <association name="to_server" class="Server" min="1" max="1"/>
  4. </relationships>
  5. <constructor>
  6. <parameter name="params"/>
  7. <body>
  8. <![CDATA[
  9. self.source = None
  10. ]]>
  11. </body>
  12. </constructor>
  13. <scxml initial="init_server">
  14. <state id="init_server">
  15. <onentry>
  16. <raise scope="cd" event="create_instance">
  17. <parameter expr="'to_server'"/>
  18. <parameter expr="'Server'"/>
  19. <parameter expr="''"/>
  20. <parameter expr="8080"/>
  21. </raise>
  22. </onentry>
  23. <transition event="instance_created" target="../wait_for_requests">
  24. <parameter name="instancename"/>
  25. <raise scope="cd" event="start_instance">
  26. <parameter expr="instancename"/>
  27. </raise>
  28. </transition>
  29. </state>
  30. <state id="wait_for_requests">
  31. <state id="wait">
  32. <transition event="HTTP_output" target=".">
  33. <parameter name="source"/>
  34. <parameter name="data"/>
  35. <script>
  36. print("Got input: " + str(data))
  37. </script>
  38. <raise event="HTTP_input" scope="narrow" target="'to_server/%s' % source">
  39. <parameter expr="data"/>
  40. </raise>
  41. </transition>
  42. </state>
  43. </state>
  44. </scxml>
  45. </class>