浏览代码

change some method name of WebIOSession

wangweimin 5 年之前
父节点
当前提交
e534a6b1fd
共有 4 个文件被更改,包括 18 次插入5 次删除
  1. 15 2
      pywebio/framework.py
  2. 1 1
      pywebio/io_ctrl.py
  3. 1 1
      pywebio/output.py
  4. 1 1
      pywebio/platform/tornado.py

+ 15 - 2
pywebio/framework.py

@@ -19,6 +19,10 @@ class WebIOFuture:
 class WebIOSession:
 class WebIOSession:
     """
     """
     一个PyWebIO任务会话, 由不同的后端Backend创建并维护
     一个PyWebIO任务会话, 由不同的后端Backend创建并维护
+
+    WebIOSession是不同的后端Backend与协程交互的桥梁:
+        后端Backend在接收到用户浏览器的数据后,会通过调用 ``send_client_msg`` 来通知会话,进而由WebIOSession驱动协程的运行。
+        协程内在调用输入输出函数后,会调用 ``send_coro_msg`` 向会话发送输入输出消息指令, WebIOSession将其保存并留给后端Backend处理。
     """
     """
 
 
     def __init__(self, coro_func, on_coro_msg=None, on_session_close=None):
     def __init__(self, coro_func, on_coro_msg=None, on_session_close=None):
@@ -59,11 +63,19 @@ class WebIOSession:
         if self.main_task.task_finished:
         if self.main_task.task_finished:
             self.close()
             self.close()
 
 
-    def add_server_msg(self, message):
+    def send_coro_msg(self, message):
+        """向会话发送来自协程内的消息
+
+        :param dict message: 消息
+        """
         self.unhandled_server_msgs.append(message)
         self.unhandled_server_msgs.append(message)
         self._on_coro_msg(self)
         self._on_coro_msg(self)
 
 
-    def add_client_msg(self, message):
+    def send_client_msg(self, message):
+        """向会话发送来自用户浏览器的事件️
+
+        :param dict message: 事件️消息
+        """
         # data = json.loads(message)
         # data = json.loads(message)
         coro_id = message['coro_id']
         coro_id = message['coro_id']
         coro = self.coros.get(coro_id)
         coro = self.coros.get(coro_id)
@@ -93,6 +105,7 @@ class WebIOSession:
 
 
     def close(self, no_session_close_callback=False):
     def close(self, no_session_close_callback=False):
         """关闭当前Session
         """关闭当前Session
+
         :param bool no_session_close_callback: 不调用 on_session_close 会话结束的处理函数。
         :param bool no_session_close_callback: 不调用 on_session_close 会话结束的处理函数。
             当 close 是由后端Backend调用时可能希望开启 no_session_close_callback
             当 close 是由后端Backend调用时可能希望开启 no_session_close_callback
         """
         """

+ 1 - 1
pywebio/io_ctrl.py

@@ -11,7 +11,7 @@ logger = logging.getLogger(__name__)
 
 
 def send_msg(cmd, spec=None):
 def send_msg(cmd, spec=None):
     msg = dict(command=cmd, spec=spec, coro_id=Global.active_coro_id)
     msg = dict(command=cmd, spec=spec, coro_id=Global.active_coro_id)
-    Global.active_ws.add_server_msg(msg)
+    Global.active_ws.send_coro_msg(msg)
 
 
 
 
 async def next_event():
 async def next_event():

+ 1 - 1
pywebio/output.py

@@ -116,7 +116,7 @@ def _put_content(type, ws=None, anchor=None, before=None, after=None, **other_sp
         spec['after'] = _AnchorTPL % after
         spec['after'] = _AnchorTPL % after
 
 
     msg = dict(command="output", spec=spec)
     msg = dict(command="output", spec=spec)
-    (ws or Global.active_ws).add_server_msg(msg)
+    (ws or Global.active_ws).send_coro_msg(msg)
 
 
 
 
 def put_text(text, inline=False, anchor=None, before=None, after=None):
 def put_text(text, inline=False, anchor=None, before=None, after=None):

+ 1 - 1
pywebio/platform/tornado.py

@@ -32,7 +32,7 @@ def ws_handler(coro_func, debug=True):
         def on_message(self, message):
         def on_message(self, message):
             # print('on_message', message)
             # print('on_message', message)
             data = json.loads(message)
             data = json.loads(message)
-            self.controller.add_client_msg(data)
+            self.controller.send_client_msg(data)
 
 
         def on_close(self):
         def on_close(self):
             self.controller.close(no_session_close_callback=True)
             self.controller.close(no_session_close_callback=True)