低階 API 索引¶
本頁列出所有低階 asyncio APIs。
獲取事件迴圈¶
推薦使用於獲取當前運行事件迴圈 (event loop) 的函式。 |
|
獲得一個(正在運行的或透過當前 policy 建立的)事件迴圈實例。 |
|
透過當前 policy 來設定當前事件迴圈。 |
|
建立一個新的事件迴圈。 |
範例
事件迴圈方法¶
也請查閱文件中關於事件迴圈方法的主要段落。
生命週期
執行一個 Future/Task/awaitable(可等待物件)直到完成。 |
|
持續運行事件迴圈。 |
|
停止事件迴圈。 |
|
關閉事件迴圈。 |
|
如果事件迴圈正在執行則回傳 |
|
如果事件迴圈已經被關閉則回傳 |
|
關閉非同步產生器 (asynchronous generators)。 |
除錯
開啟或禁用除錯模式。 |
|
獲取當前除錯模式。 |
為回呼函式排程
儘快調用回呼函式 (callback)。 |
|
|
|
在給定時間之後調用回呼函式。 |
|
在給定時間當下調用回呼函式。 |
執行緒 (Thread)/行程池 (Process Pool)
|
在 |
為 |
Tasks 與 Futures
建立一個 |
|
像是 |
|
設定被 |
|
獲取被 |
DNS
|
非同步版本的 |
|
非同步版本的 |
網路和 IPC
|
開啟一個 TCP 連線。 |
|
建立一個 TCP 伺服器。 |
開啟一個 Unix socket 連線。 |
|
建立一個 Unix socket 伺服器。 |
|
將 |
|
開啟一個資料單元 (datagram) (UDP) 連線。 |
|
|
透過傳輸通道傳送一個檔案。 |
|
將一個已存在的連線升級到 TLS。 |
|
將 pipe(管道)讀取端包裝成 |
將 pipe 寫入端包裝成 |
Sockets
|
從 |
|
將從 |
|
從 |
將從 |
|
|
傳送資料到 |
|
透過 |
|
連接 |
|
接受一個 |
|
透過 |
開始監控一個檔案描述器 (file descriptor) 的可讀取性。 |
|
停止監控一個檔案描述器的可讀取性。 |
|
開始監控一個檔案描述器的可寫入性。 |
|
停止監控一個檔案描述器的可寫入性。 |
Unix 信號
為 |
|
刪除 |
子行程
衍生 (spawn) 一個子行程 (subprocess)。 |
|
從 shell 指令衍生一個子行程。 |
錯誤處理
呼叫例外處理函式。 |
|
設定一個新的例外處理函式。 |
|
獲取當前例外處理函式。 |
|
預設例外處理函式實作。 |
範例
使用
loop.create_connection()
以實作一個 echo 客戶端。使用
loop.create_connection()
來連接 socket。
傳輸¶
所有傳輸方式都有實作以下方法:
關閉傳輸。 |
|
如果傳輸正在關閉或已經關閉則回傳 |
|
請求傳輸的相關資訊。 |
|
設定一個新協定。 |
|
回傳當前協定。 |
可以接收資料(TCP 和 Unix 連線、pipe 等)的傳輸。它由 loop.create_connection()
、loop.create_unix_connection()
、loop.connect_read_pipe()
等方法回傳:
讀取傳輸
如果傳輸正在接收則回傳 |
|
暫停接收。 |
|
繼續接收。 |
可以傳送資料(TCP 和 Unix 連線、pipe 等)的傳輸。它由 loop.create_connection()
、loop.create_unix_connection()
、loop.connect_write_pipe()
等方法回傳:
寫入傳輸
將資料寫入傳輸。 |
|
將緩衝區資料寫入傳輸。 |
|
如果傳輸支援傳送 EOF 則回傳 |
|
在清除 (flush) 已緩衝的資料後關閉傳輸並傳送 EOF。 |
|
立即關閉傳輸。 |
|
回傳當前輸出緩衝區的大小。 |
|
回傳用於寫入流量控制 (write flow control) 的高低標記位 (high and low water marks)。 |
|
為寫入流量控制設定高低標記位。 |
由 loop.create_datagram_endpoint()
回傳的傳輸:
資料單元傳輸
傳送資料到連線遠端。 |
|
立即關閉傳輸。 |
基於子行程的低階傳輸抽象,它會由 loop.subprocess_exec()
和 loop.subprocess_shell()
所回傳:
子行程傳輸
回傳子行程的行程 id。 |
|
回傳被請求用於通訊 pipe (stdin、stdout 或 stderr)的傳輸。 |
|
回傳子行程的回傳代號 (return code)。 |
|
殺死子行程。 |
|
傳送一個訊號到子行程。 |
|
停止子行程。 |
|
殺死子行程並關閉所有 pipes。 |
協定¶
協定類別可以實作以下回呼方法:
|
在連線建立時被呼叫。 |
|
在失去連線或連線關閉時被呼叫。 |
|
在傳輸緩衝區超過高標記位時被呼叫。 |
|
在傳輸緩衝區低於低標記位時被呼叫。 |
串流協定 (TCP, Unix socket, Pipes)
|
在接收到資料時被呼叫。 |
|
在接收到 EOF 時被呼叫。 |
緩衝串流協定
|
呼叫後會分配新的接收緩衝區。 |
|
在以接收到的資料更新緩衝區時被呼叫。 |
|
在接收到 EOF 時被呼叫。 |
資料單元協定
|
在接收到資料單元時被呼叫。 |
|
在前一個傳送或接收操作引發 |
子行程協定
|
在子行程向 stdout 或 stderr pipe 寫入資料時被呼叫。 |
|
在與子行程通訊的其中一個 pipes 關閉時被呼叫。 |
|
在子行程退出時呼叫。它可以在 |
事件迴圈 Policies¶
Policy 是改變 asyncio.get_event_loop()
這類函式行為的一個低階機制。更多細節請見 Policy 相關段落。
存取 Policy
回傳當前整個行程中的 Policy。 |
|
設定整個行程中的一個新 Policy。 |
|
Policy 物件的基礎類別。 |