summaryrefslogtreecommitdiff
path: root/crates/tor-async-utils/src/lib.rs
Commit message (Collapse)AuthorAgeFilesLines
* clippy: deny `mod_module_files`Steven Engler2025-01-061-0/+1
| | | | | | Denies 'mod.rs' files for consistency. https://rust-lang.github.io/rust-clippy/master/index.html#mod_module_files
* add_warnings, *: Allow clippy::needless_lifetimesNick Mathewson2024-12-031-0/+1
| | | | | | | | In 1.83, this warning triggers on many of our crates. We're thinking of fixing them all, but for now, we're going to disable the warning. This is part of #1765.
* Introduce mpsc_channel_no_memquota and use it in the places it's wantedIan Jackson2024-10-151-0/+17
| | | | | These are the call sites where using this fucntion is correct. (Outside tor-rtmock, which we'll do separately.)
* Provide SinkCloseChannelIan Jackson2024-10-011-0/+3
| | | | | The circuit reactor calls mpsc::Channel::close_channel, but we want to wrap up the mpsc, so we need to make this a trait method.
* tor-async-utils: Implement SinkTrySend for mpsc::SenderIan Jackson2024-10-011-0/+1
|
* tor-async-utils: Provide new SinkTrySend traitIan Jackson2024-10-011-0/+3
| | | | | | | | | This is the method try_send from mpsc::channel::Sender. We want to be able to replace that type in tor-circmgr with a memquota wrapper, so the call needs to be a trait method. This API is deceptively simple. Implementing it will involve more support machinery for error handling.
* tor-async-utils: Re-export oneshot-fused-workaround as oneshot.Gabriela Moldovan2024-09-031-0/+2
|
* Move stream_peek into tor-async-utilsJim Newsome2024-08-291-0/+1
|
* extract tor_async_utils::oneshot into ::oneshot-fused-workaroundJim Newsome2024-08-281-1/+0
| | | | | | | | | | | | | | Having this in the `tor-async-utils` crate prevents us from doing both of the following without introducing a circular dependency: * using it in `tor-rtmock` (which we currently do, particularly in tests). * using `tor-rtmock` to test things in `tor-async-utils`. We don't do this yet, but it is generally sensible to do so. In particular we want to move the `stream_peak` module there, which is currently tested with `tor-rtmock`. Moving this into its own crate avoids this circular dependency.
* tor-async-utils: add traits PeekableStream and UnobtrusivePeekableStreamJim Newsome2024-08-211-0/+1
|
* Re-run maint/add_warning.Nick Mathewson2024-05-061-2/+2
| | | | This commit is automatically generated.
* deny clippy::unchecked_duration_subtractiontrinity-1686a2024-02-291-0/+1
|
* oneshot: Introduce veneer in tor_rtcompatIan Jackson2023-10-111-0/+2
|
* Run add_warnings on all files.Nick Mathewson2023-08-041-2/+2
|
* Run maint/add_warning to actually apply new lint allowsIan Jackson2023-07-101-0/+1
|
* Run add_warning to remove `missing_panics_doc` deny.Nick Mathewson2023-07-061-1/+0
| | | | Closes #950.
* lints: Run maint/add_warning to actually apply new lintsIan Jackson2023-06-211-0/+2
|
* async-utils: Add a SinkExt with a with_fnNick Mathewson2023-04-191-0/+3
| | | | | (This function behaves as `futures::sink::SinkExt::with`, except that the function that it takes does not return a future.)
* async-utils: rename sinkext to prepare_sendNick Mathewson2023-04-191-2/+2
|
* async-utils: rename SinkExt to SinkPrepareExtNick Mathewson2023-04-191-1/+1
|
* tor-async-utils: Introduce JoinReadWriteIan Jackson2023-04-051-0/+3
| | | | | I wanted one of these for a test stream. Unaccountably neither the futures crate, nor tokio, seem to have one!
* Move functionality from tor_basic_utils to tor_async_utilsNick Mathewson2023-03-291-0/+7
| | | | | This commit is mostly code movement; I'd recommend reviewing it with git's `--color-moved` option.
* Make a new empty tor-async-utils crate.Nick Mathewson2023-03-291-0/+39