pquentin on master
Move test files to tests/data (… (compare)
njsmith on bleach-spike
Support async content preloadin… Merge pull request #138 from pq… (compare)
njsmith on master
Add tests for our event loop su… Rework epoll backend to be more… Rework windows backend to survi… and 12 more (compare)
dependabot-preview[bot] on pip
send_jumbountil you have determined that you have a complete message. One very customary approach is to send a 4-byte length prefix, followed by the bytes. That way, the receiver can figure out where one "message" ends.
Noneif it's incomplete)
IPPROTO_SCTPisn’t available, the stdlib could support socket creation with
IPPROTO_SCTP, but behind the scenes the OS call is for
IPPROTO_RAWand the socket module actually provides the SCTP implementation. Does that sound terrible? Would there be precedent for something like Trio to supply that implementation if the OS and stdlib don’t?
socketmodule is a pretty direct exposure of the underlying system's socket API, so I don't think there's precedent for something like that at that level. Also I'm guessing the cpython team might be reluctant to take responsibility for shipping a SCTP implementation inside python.
triopackage, or as a third-party library sort of like
trio-websocket. It's more of a judgement call on what we think will be best for users.
triopackage should give you everything you need to implement SCTP-on-trio, and if it doesn't then we should fix that
trio.socketAPI is already what UDP users want? UDP is a pretty specific and low-level thing (compared to say TCP, which is just one example out of many streaming byte transports)
SOCK_SEQPACKETfor unix-domain sockets, for in-order delivery with framing, which can be super useful if you're OK with it being linux-specific. The key feature is that each
sendis atomic, so you can have multiple processes acting as producers and consumers on the same socket.)
Channel[bytes](or whatever we end up calling it...), and if you're using a UDP socket for point-to-point communication only, you could model that as a
Channel[bytes], though more generally I guess it's a