Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/tokio-rs/tokio-uring

An io_uring backed runtime for Rust
https://github.com/tokio-rs/tokio-uring

chore: update actions/checkout action to v4 (#290)

Co-authored-by: ollie <[email protected]>

a69d4bf57776a085a6516f4c022e2bf5d1814762 authored 12 months ago by Taiki Endo <[email protected]>
chore: format let-else (#291)

This fixes CI failure
https://github.com/tokio-rs/tokio-uring/actions/runs/7437161507/job/20234...

926ff9de010f517cad9d3effe83e6e38f02dfc7f authored 12 months ago by Taiki Endo <[email protected]>
chore: upgrade io-uring to 0.6.0 (#277)

Signed-off-by: Li Zhanhui <[email protected]>

d5e90539bd6d1c518e848298564a098c300866bc authored over 1 year ago by Zhanhui Li <[email protected]>
chore: replace futures dependency with futures_util (#265)

Removes loads of dependencies for dependent libraries.

34b27ab64e6d588aee7d43c2d7f9855b072f61ab authored over 1 year ago by Icelk <[email protected]>
bug: msghdr lifetime in SendMesgZc (#260)

Box msghdr in `SendMsgZc` struct to ensure it is stable through the
lifetime of the op.

4fd31970addc1404ee0564b6872da16130a5e2fd authored over 1 year ago by ollie <[email protected]>
net: FromRawFd, AsRawFd, and from_std for TcpListener. (#262)

This enables socket configuration for the listener.

ee8318d817487fae8c62964d68271e2427e81186 authored over 1 year ago by Icelk <[email protected]>
net: fix UdpSocket sendMsg (#264)

Fixes bug as found in #263

78b269b212d24581e808ba1921563fc418e2b6cf authored over 1 year ago by Icelk <[email protected]>
net: add UdpStream sendmsg. (#263)

Fixes #261

47fbddf1e4e5cb308e2a5ab41e6b0d45b89ad39e authored over 1 year ago by Icelk <[email protected]>
Bug: iovec array not stable during sendmsg_zc op (#257)

The iovec array must be stable until either:
- Operation completion, or
- not doing IORING_...

1a089de6c97662bea3d9b572e3cf9a5f70ee3499 authored almost 2 years ago by ollie <[email protected]>
Add recvmsg implmentation (#252)

Adds the missing `recvmsg` function to the udp socket.

the level of duplication required vs `...

f562364ecb28cb7cd59a2fe87ee8eb25aeaf375f authored almost 2 years ago by ollie <[email protected]>
fix: negate cqe result when it is negative to convert to valid errno (#249)

d8ae38b910f32419181be5989433f083858edfbc authored almost 2 years ago by FrankReh <[email protected]>
rt: add new api for oneshot op submission and creation (#244)

This change adds a new API for creating and submitting oneshot
operations. This new API is inte...

a021be7e50207d7415db47477881a1464851e307 authored almost 2 years ago by Noah Kennedy <[email protected]>
bump io-uring to 0.5.13 (#243)

And remove the io-uring "unstable" features dependency as it is
deprecated.

575d864c2675863e2e69c6262846d6144f0ccc21 authored almost 2 years ago by FrankReh <[email protected]>
`FixedBufPool::next` (#199)

Add an async API to get buffers out of `FixedBufPool`. This is another
way in which `FixedBufPo...

1205af94a015eb18171a0522c3325a05b6cf5230 authored almost 2 years ago by Mikhail Zabaluev <[email protected]>
add writev_all to io modules (#220)

And add File::writev_at_all as the first user facing example.

The writev_all function will ca...

6695b9a007dbc627423096f4ddae1b3baec263ad authored almost 2 years ago by FrankReh <[email protected]>
statx builder (#226)

Add a builder for the statx command, tokio_uring::fs::StatxBuilder.

Also adds a tokio_uring::...

c4320fa2e7b146b28ad921ae25b552a0894c9697 authored almost 2 years ago by FrankReh <[email protected]>
udp: add send and make sendmsg address optional (#233)

Because sendmsg(2) can be used on connected sockets without msg_name.

UDP send_to remains the...

e05ca593658e28c57efe222526d1339ac75204eb authored almost 2 years ago by Maxim Ivanov <[email protected]>
fix: rework SharedFd (#232)

This allows a 'file.close.wait' to return a true close return value. And
it fixes the problem o...

96ad6339b1f367c070725a44ec56a28ac9f6fb0d authored almost 2 years ago by FrankReh <[email protected]>
create_dir_all and DirBuilder (#224)

uring, therefore async, versions of create_dir_all and DirBuilder.

afab7f2de5892759f816d03b3df4a20c1ac85fa9 authored almost 2 years ago by FrankReh <[email protected]>
fix: fs::create_dir mode (#223)

The io-uring MkDirAt defaults to creating directories with mode 0.

Fix our fs::create_dir, wh...

1f5dd378d4a56b707cf4bd74025e5fc2106f609c authored almost 2 years ago by FrankReh <[email protected]>
fix: API IO bounds should use BoundedBuf (#217)

Some of the more recently introduced API IO calls used the original
IoBuf and IoBufMut traits w...

8929e95f3c23bc82b7b1ec36556b4bf71fdc7115 authored almost 2 years ago by FrankReh <[email protected]>
Update docs to conform to Tokio standards (#203)

Updates method documentation to use indicative mood. This is not a
huge change, as most public ...

bf352a6a4aed0a2f94ae6be62a9139a018abd49e authored almost 2 years ago by Rick Richardson <[email protected]>
Generialise FixedBufRegistry and FixedBufPool (#213)

Extends both registries to accept any `Iter` of `IoBufMut`, instead of Vec<u8>.

This is motiv...

0acb432faea66385702809b1600ac78bdf3a6399 authored almost 2 years ago by ollie <[email protected]>
Add support for zero copy sendmsg. (#212)

Add support for the IORING_OP_SENDMSG_ZC opcode added in Linux
6.1 with a new sendmsg_zc functi...

d2f1494d1ab92bd7355a2af6069dd5e4ad5f3415 authored almost 2 years ago by MA-ETL <[email protected]>
Add support for `fallocate` and `statx` (#214)

Add support for both the `IORING_OP_FALLOCATE` and the
`IORING_OP_STATX` opcodes, and extends `...

ecff6a913bf782c79e73779f7fee5092515a839c authored almost 2 years ago by Chris Heller <[email protected]>
chore: reduce noise in benchmarks (#151)

Removes FuturesUnordered from benchmarks and alters timing to ignore
task spawning, as to hone ...

9b654c17201bee18df1e534451105b9673f1e38c authored almost 2 years ago by Noah Kennedy <[email protected]>
Add create_dir (#193)

This adds a `create_dir` function call to `tokio_uring::fs` and
partially fixes #48.

I also ...

d6496526bf1ef1a129c9b8e977fb04e0181e6f68 authored about 2 years ago by Kai Mast <[email protected]>
Restore off-runtime creation of fixed buffer collections (#200)

#196 broke the ability to populate a collection of fixed buffers
off-runtime and then have it r...

3ba9bd83907d7cdae829d6af1910d902e5e35daf authored about 2 years ago by Mikhail Zabaluev <[email protected]>
rt: refactor driver, runtime, and op (#197)

This cleans up a few different pieces and is a followup change from
#196.

cdedbfc179b19cbfd2e4d9fc0d61b5c0601929be authored about 2 years ago by Noah Kennedy <[email protected]>
Add method `BoundedBuf::put_slice` (#198)

Provide a generic, safe way to copy data into a buffer, possibly
advancing the initialized leng...

4417d636e9dc0eaa2f1fe2e0f7b4375287fd040b authored about 2 years ago by Mikhail Zabaluev <[email protected]>
driver: refactor the driver to be stored in a shared set of handles (#196)

This opens up a lot of further cleanup opportunities, especially around
shutdown logic. It also...

e1b2f1a1ca48f643f01a413a28b2a609ffdcae8b authored about 2 years ago by Noah Kennedy <[email protected]>
chore: cleanup Socket.shutdown (#195)

Use the convenient socket2::SockRef::from to get a socket reference
which can then be shutdown....

3b2174ea8e48d898ba6f8aede11717559e5d73bb authored about 2 years ago by FrankReh <[email protected]>
use std::future::poll_fn (#194)

No need for this crate to maintain its own any longer.

There was recent activity in the stand...

f6cb0ed0f05b99a492974e6c2c423954ec42d4ce authored about 2 years ago by FrankReh <[email protected]>
net: UDP socket gets local_addr, read_fixed and write_fixed (#189)

The type UdpSocket gets methods local_addr, read_fixed and write_fixed.

local_addr is useful ...

002c94f533e8d27ad3d1ba285009f642328d6479 authored about 2 years ago by FrankReh <[email protected]>
write_fixed_all (#184)

Define write_all functions that take fixed buffers.

Adds write_fixed_all for TCP and Unix...

4b92cdbd9abafce259a964c93b0fabb413c0f129 authored about 2 years ago by FrankReh <[email protected]>
`FixedBufPool`: a dynamic fixed buffer collection (#190)

Make the internal infrastructure for fixed buffers more flexible,
allowing `FixedBuf` handles t...

bb5a00c5e16bfeb31bfb15530dd07e30124a31e2 authored about 2 years ago by Mikhail Zabaluev <[email protected]>
io: add TcpStream::set_nodelay (#192)

Exposes `net::TcpStream::set_nodelay` like in `tokio::net` and
`std::net`.

Co-authored-by: N...

026d57aabd3cdaa7d9134fa6c072c59beb69aa61 authored about 2 years ago by Kai Mast <[email protected]>
chore: bump io-uring dependency to 0.5.9 (#182)

e257f73ca7872914e4e6e3a80dc0c97ce1cb13c6 authored about 2 years ago by FrankReh <[email protected]>
Expose `buf_index` (#187)

This makes it easier to build abstractions on top of the `FixedBufferRegistry`.

0572c11c21e9aca935564afaf91fb0deaa39c528 authored about 2 years ago by Oskar Nehlin <[email protected]>
Fixed buffers to support ReadFixed and WriteFixed ops (#54)

Add infrastructure to manage pre-registered buffers, and operation
methods `File::read_fixed_at...

8750caa5b240fd90b0849305d82f963eef7e74aa authored about 2 years ago by Mikhail Zabaluev <[email protected]>
chore: refactor driver module (#180)

This change renames the top-level driver module to "io" and moves the
driver and Op to a driver...

0e1c987f58ce483942b4033ff485a967946615dc authored about 2 years ago by Noah Kennedy <[email protected]>
`BoundedBuf` trait to take `.slice` API out of `IoBuf` (#172)

Introduce new traits, `BoundedBuf` and `BoundedBufMut`, taking the
`slice` method and related i...

b1ca3aa5328a35fbad29b847631e1031007142e2 authored about 2 years ago by Mikhail Zabaluev <[email protected]>
chore: remove unused dependency (#179)

Signed-off-by: wanglei01 <[email protected]>

f99f214421853ecd50567efa2af760281178de1c authored about 2 years ago by wanglei01 <[email protected]>
chore: fix crate name in README.md (#177)

d1de1a929742eb42f06cb5f332b8d4782ed7de0d authored about 2 years ago by Zhanhui Li <[email protected]>
bug: send_zc should be a MultiCQEFuture (#175)

Somewhere, in the myriad of refactorings that occurred in #123, I
dropped the marker type. This...

0d245cd6e62f16c0955f70ee08e0c55c94d6b790 authored about 2 years ago by ollie <[email protected]>
Support zero-copy send (#123)

Linux 6.0 introduced `IORING_OP_SEND_ZC`. This PR introduces the
function `send_zc` on udp (tod...

35c949540d7153c89ae9a9c55e39e36c008c951d authored about 2 years ago by ollie <[email protected]>
driver: simplify the fallback logic for shared_fs (#168)

This PR is a light refactoring, which moves the special case handling
for `SharedFd` which fall...

8ca72f336e016b34f50fabb647cb30c0e46f4df7 authored about 2 years ago by ollie <[email protected]>
driver: MultiCqe support for Driver Drop (#164)

f5f1724140550a4a39e4ef2c579221ad90ccd068 authored about 2 years ago by ollie <[email protected]>
fs: impl `File::read_exact_at` and `File::write_all_at` (#44)

Current API and abstractions make it possible to write these helper
methods.

Fixes #41

a904aa9b0e188003eff894d7616ba44058c50010 authored about 2 years ago by 李冬冬 <[email protected]>
chore: prepare tokio-uring v0.4.0 (#166)

# 0.4.0 (November 5th, 2022)

### Fixed

- Fix panic in Deref/DerefMut for Slice extending i...

a98b29237e0f43aae6f0abbaf5e8771ce99b0e5c authored about 2 years ago by FrankReh <[email protected]>
rt: cancel all in-flight ops on driver drop (#158)

This fixes an immediate issue where ops like Accept can cause runtime shutdown to hang.

Unfor...

4b0e07e9cdd9f6cd941ee2c2abedc099961be045 authored about 2 years ago by Noah Kennedy <[email protected]>
rt: fix error when calling block_on twice (#162)

This fixes an issue where we would try and spawn a separate background task on the `LocalSet` fo...

046d09b4eaa6c0f0bbca2f4a380ca096a64c9e4b authored about 2 years ago by Noah Kennedy <[email protected]>
rt: add test for runtime panic (#159)

Co-authored-by: ollie-etl <Oliver [email protected]>

b0e973a95ca82f1311f574d126decf0cee9c093a authored about 2 years ago by ollie <[email protected]>
rt: refactor drop logic (#157)

rt: refactor drop logic

This shouldn't change any functionality, but it does use ManuallyDrop...

8725b81b862cc480be93b1a11c80b9990d51d890 authored about 2 years ago by Noah Kennedy <[email protected]>
rt: drop runtime before driver during shutdown (#155)

507186d1ab6854470ee746cb64c6f2d0cf9604f7 authored about 2 years ago by Noah Kennedy <[email protected]>
driver: ignore errors from uring while cleaning up (#154)

In the driver drop code, don't assume the call to wait for
a completion will always succeed. Th...

31b9ceb85575a89f41c18ce2c3559dfbf5c0bb62 authored about 2 years ago by FrankReh <[email protected]>
chore epend on io-uring version ^0.5.8 (#153)

io-uring v0.5.8 handles the overflow of the cqueue so this bump on the
dependancy fixes hangs c...

3c40c1a3f29f53543e390a9e93058de6625831d8 authored about 2 years ago by FrankReh <[email protected]>
Add writev to TcpStream (#136)

* Add writev to TcpStream

Co-authored-by: FrankReh <[email protected]>

4a10a9caded9c468a03fc762cbd8a581a10345af authored about 2 years ago by amos <[email protected]>
Support multi completion events: v2 (#130)

* Add Marker SingleCqe

This is used to parameterize Op<T, CqeType>. It is now possible to
sp...

ecaaa3e539c1f410c09cecc72fa7d2058ef4a046 authored about 2 years ago by ollie <[email protected]>
rt: refactor runtime to avoid Rc<RefCell<...>> (#142)

This change refactors the runtime to not use reference counting directly in the ops themselves. ...

c069cc638a222c56275a83b198ec907ed92741e5 authored about 2 years ago by Noah Kennedy <[email protected]>
Expose runtime structure (#148)

Co-authored-by: ollie-etl <Oliver [email protected]>

cb189fa25a91bc8d97611f350a75e7c36c6dfea1 authored about 2 years ago by ollie <[email protected]>
Name fields (#149)

Co-authored-by: ollie-etl <Oliver [email protected]>

2297ed75203f175e2517c672b0e803969062dd1b authored about 2 years ago by ollie <[email protected]>
chore: add benchmarks for no-op submission (#144)

Co-authored-by: ollie-etl <Oliver [email protected]>

c6b884ea103997369ef88fe5eaec9920707896d6 authored about 2 years ago by ollie <[email protected]>
rt: fix data race (#146)

Fixes #145. A data race was observed in Pr #144, where with high concurrency in user-space, and ...

13f740988de40f6ef99f11b870985cd051e7b5ef authored about 2 years ago by ollie <[email protected]>
chore: remove unused dependencies (#143)

Co-authored-by: ollie-etl <Oliver [email protected]>

5f8ddb490e76ec96120faef540daf75f061b6378 authored about 2 years ago by ollie <[email protected]>
ops: add NoOp support (#134)

Co-authored-by: ollie-etl <Oliver [email protected]>

7adeacb88ce6fb93ce17645de1d2040ba50a36e5 authored about 2 years ago by ollie <[email protected]>
sync TcpStream, UnixStream and UdpSocket functionality (#141)

A few features have been added to one or the other. This brings them
back to parity with each o...

3bdb73e8384302e6b0ec35f34e70ca5bb39b5f0b authored about 2 years ago by FrankReh <[email protected]>
simplify driver operation futures (#139)

52c7cd96bd0a24646cd2c0e217aebf2bcd99004b authored about 2 years ago by FrankReh <[email protected]>
cargo test --doc to ci (#135)

d4d88c2d6c49cff32141a2352ac80507d7a19543 authored about 2 years ago by ollie <[email protected]>
net: implement FromRawFd for TcpStream (#132)

79647c1dfbe0686dd354fcaa5978c578ceac1ba6 authored about 2 years ago by Divy Srivastava <[email protected]>
fs: implement OpenOptionsExt for OpenOptions (#133)

Implements mode() and custom_flags() of std::os::unix::fs::OpenOptionsExt for OpenOptions.
cust...

222e48da380e5f6d17dd1fd7c39592c2efc31213 authored about 2 years ago by Divy Srivastava <[email protected]>
fs: implement fs::File::from_std (#131)

5eb58ec17870f384bec39e5667f571957955715b authored about 2 years ago by Divy Srivastava <[email protected]>
Box the socket address to allow moving the future (which async functions routinely do) (#126)

a42af774e3cf83b5cd7811482cc2397c80dbb46a authored about 2 years ago by amos <[email protected]>
net: socket and tcpstream shutdown (#124)

1c0a2bff4a5f8fdc34e91cac30b74305c3486e88 authored about 2 years ago by FrankReh <[email protected]>
chore: fix race of fs unit tests (#121)

Setting the env variable RUST_TEST_THREADS to 1 in the local
.cargo/config.toml avoids a race d...

9131e8b122a02d9baa0b4b977b5b7963b9f92d32 authored about 2 years ago by FrankReh <[email protected]>
net: fix network doc examples (#118)

Two places try_join! was used to have a socket accept and a socket
connect performed concurrent...

21bdd86547fb03955192abe6ee9c5c5d6b312724 authored about 2 years ago by FrankReh <[email protected]>
io: refactor post-op logic in ops into Completable (#116)

As a first step towards implementing cancellation of in-flight operations, we need to move the p...

913aa14c567cfae026b7d4f88a5155921cfb9575 authored over 2 years ago by Noah Kennedy <[email protected]>
driver: add Builder API as an option to start (#113)

Add a Builder API as an option to start the tokio_uring runtime.

The preexisting tokio_uring:...

20da163283dda1767fbc84f3ef632ef4d3222f27 authored over 2 years ago by FrankReh <[email protected]>
net: TcpStream write all (#111)

Add an async write_all method for the TcpStream type.

Also a doc example and a rework of the ...

402653919b6c010468fdd94ce0a7ea3347de103a authored over 2 years ago by FrankReh <[email protected]>
net: add TcpListener.local_addr method (#107)

Closes #106.

587c9c3b3d86e5a9a435a86bbf08af4f4e840a68 authored over 2 years ago by FrankReh <[email protected]>
fs: implement fs::File::readv_at()/writev_at() (#87)

f80207b127b66c03155fbe9cd06ce3bb6a8b84c5 authored over 2 years ago by Jiang Liu <[email protected]>
chore: Tokio-uring design proposal (#1)

[Rendered](https://github.com/tokio-rs/tokio-uring/blob/design-doc/DESIGN.md)

The RFC propose...

c3571255ca0e10dfa26485c47b997e2440f6695f authored over 2 years ago by Carl Lerche <[email protected]>
chore: add clippy to ci (#100)

01c8bb8d35df74c4b5b3cdfe6df296f809855589 authored over 2 years ago by Noah Kennedy <[email protected]>
chore: fix clippy lints (#99)

d6bfa95ada2b0393d155c9db7734c194bb3a1332 authored over 2 years ago by Noah Kennedy <[email protected]>
fs: implement `rename` (#96)

Implement the `rename` operation for `fs`.
This operation uses `IORING_OP_RENAMEAT` as the opco...

9f241b77cb01da24640af0a36a467debe9bc9f93 authored over 2 years ago by Arash Sal Moslehian <[email protected]>
net: implement `AsRawFd` for `TcpStream` (#94)

0e323e9a2138133b87bb32203103a81068d06fa5 authored over 2 years ago by Dawid Ciężarkiewicz <[email protected]>
chore: add all-systems-go ci check (#98)

Add a CI check which passes as soon as all required checks do. This allows us to set one require...

89a9bd7034573690977cb004223ba8a5ab37ed28 authored over 2 years ago by Noah Kennedy <[email protected]>
fs: implement FromRawFd for File (#89)

Implement FromRawFd for File, so we could convert a normal file into
tokio-uring File.

Signe...

9b9c500548722f7942ecdb216b8ebf6689a4d93a authored over 2 years ago by Jiang Liu <[email protected]>
chore: update actions/checkout action to v3 (#90)

105595809d1e60acbb5374dbe1f7f8d8ea1febb0 authored over 2 years ago by Taiki Endo <[email protected]>
net: from_std for udp socket (#85)

I wanted the ability to have finer grained control over which socket
options where set when cre...

6cacd95ee28c0d9bb5ce19aca4145788f988bbb8 authored over 2 years ago by Mark Mandel <[email protected]>
docs: set all-features = true (#84)

So the docs show that `bytes::Bytes` implements `IoBuf` (#43)

08fbe188f8c5834e576f22784dc9c1919be2931b authored over 2 years ago by Aaron O'Mullan <[email protected]>
driver: batch submit requests and add benchmark (#78)

Batch submit requests for fun and profit

0fdc0c2a25e20e3dcf11cd39ab9f5627c3b93e56 authored over 2 years ago by Noah Kennedy <[email protected]>
buf: fix panic in deref and derefmut on slice (#52)

When the slice extends into the uninitialized part of the buffer,
the byte slice returned by th...

6d3ef6176270de89e9c41f56ad8cc484a17c80a2 authored over 2 years ago by Mikhail Zabaluev <[email protected]>
chore: fix CHANGELOG.md (#77)

7d7913c02dc4c633cfff632c2f6f138d53783192 authored almost 3 years ago by Noah Kennedy <[email protected]>
chore: prepare tokio-uring v0.3.0 (#76)

56d1882eb13f4f73037ea800ed3c43d502f3efb9 authored almost 3 years ago by Noah Kennedy <[email protected]>
net: add unix stream & listener (#74)

31761492f2fcd985c869fdca0c5d62fc1b1d165d authored almost 3 years ago by jon-chuang <[email protected]>
net: add tcp and udp support (#40)

523dae04969d64a7d6f2da1ff7d53005f661086e authored almost 3 years ago by LinkTed <[email protected]>
Prepare tokio-uring 0.2 (#70)

3692f63e4d40158824512e3535656049ff13e43d authored almost 3 years ago by Noah Kennedy <[email protected]>
Added cargo test to CI (#62)

db8fc340b5c4c733426cb8c7da842ab4338891ba authored almost 3 years ago by Noah Kennedy <[email protected]>
fs: fix build and test errors (#69)

After https://github.com/rust-lang/rust/pull/85746 , `ErrorKind::Other`
is not what it used to....

4807d0ef51227118ad6e4451890b583369aca7b1 authored almost 3 years ago by Braulio Valdivielso Martínez <[email protected]>