Add support for loop.sock_sendto
還沒有人認領這個 Issue。
評估
- 難度
- 3/5
- 預估耗時
- 1-2 天
- 新手友好度
- 68/100
- Issue 類型
- 功能
- 描述清晰度
- 基本清楚
- 活躍度
- 冷清
- 技術堆疊
- python
- 領域
- networking
研究方向
從 traceback 所識別的 uvloop/loop.pyx 中的 sock_sendto 進入點開始,並將其預期行為與 asyncio.loop.sock_sendto 進行比較。使用提供的非阻塞 UDP 範例來測試此實作。當呼叫能夠傳送資料報並傳回已傳送的位元組數,而不是引發 NotImplementedError 時,即表示完成。
由索引模型根據 Issue 內容生成。
描述
- uvloop version: 0.17.0 - 0.20.0
- Python version: 3.11.4 - 3.12.5
- Platform: Linux
- Can you reproduce the bug with
PYTHONASYNCIODEBUGin env?: Not a bug - Does uvloop behave differently from vanilla asyncio? How?: Yes, not implemented feature
The uvloop not implement method sock_sendto.
coroutine loop.sock_sendto(sock, data, address)
Send a datagram from sock to address. Asynchronous version of socket.sendto()Return the number of bytes sent.
sock must be a non-blocking socket.
New in version 3.11.
The simple test case that reproduces the problem:
#!/usr/bin/env python3
import socket
import asyncio
import uvloop
uvloop.install()
async def run():
addr = ("127.0.0.1", 1111)
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.setblocking(False)
loop = asyncio.get_running_loop()
await loop.sock_sendto(s, b'test', addr)
asyncio.run(run())
uvloop == 0.20.0 response:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python3.12/asyncio/runners.py", line 194, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
File "<stdin>", line 6, in run
File "uvloop/loop.pyx", line 2629, in sock_sendto
NotImplementedError
- 主要語言
- Cython
- 星號
- 11.9k
- 分支
- 615
- PR 合併指標
- 30 天內沒有已合併 PR
貢獻指南
這個儲存庫沒有索引到貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
MagicStack/uvloop 的其他 Issue
-
難度 2/5 1-3 小時 新手友好度 68/100
MagicStack/uvloop#759 ·
-
難度 2/5 1-3 小時 新手友好度 68/100
MagicStack/uvloop#741 · 2 個 reaction ·
-
難度 2/5 1-3 小時 新手友好度 68/100
MagicStack/uvloop#702 · 8 則留言 · 9 個 reaction ·
-
難度 4/5 3-5 天 新手友好度 25/100
MagicStack/uvloop#766 ·
-
難度 4/5 3-5 天 新手友好度 52/100
MagicStack/uvloop#765 ·
查看 MagicStack/uvloop 的全部 Issue
相似的 Issue
-
bug good first issue package: quic
難度 2/5 1-3 小時 新手友好度 78/100
-
area-Interop-coreclr untriaged
難度 2/5 1-3 小時 新手友好度 78/100
-
kind/bug kind/community-report needs/triage
難度 2/5 1-3 小時 新手友好度 92/100
-
backport bug
難度 2/5 1-3 小時 新手友好度 72/100
-
package:miniflare product:hyperdrive
難度 2/5 1-3 小時 新手友好度 78/100
cloudflare/workers-sdk#15843 · 1 則留言 ·