summaryrefslogtreecommitdiff
path: root/crates/tor-rtcompat/src
Commit message (Collapse)AuthorAgeFilesLines
* Merge branch 'mod-module-files' into 'main'Nick Mathewson2025-01-071-0/+1
|\ | | | | | | | | clippy: deny `mod_module_files` See merge request tpo/core/arti!2689
| * 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
* | fix: fix typosDimitris Apostolou2025-01-061-1/+1
|/
* rtcompat: re-export items from tor_general_addr::generalNick Mathewson2024-12-191-0/+2
|
* streamops: Resolve unused-variable warnings.Nick Mathewson2024-12-121-1/+1
|
* tor-rtcompat: Replace bad_api_usage with UnsupportedStreamOp (fmt).Gabriela Moldovan2024-12-103-5/+17
|
* tor-rtcompat: Replace bad_api_usage with UnsupportedStreamOp.Gabriela Moldovan2024-12-104-23/+12
|
* tor-rtcompat: Add an error type for unsupported StreamOps.Gabriela Moldovan2024-12-102-1/+28
|
* tor-rtcompat: Add a default implementation for StreamOps::set_tcp_notsent_lowat.Gabriela Moldovan2024-12-101-2/+8
|
* tor-rtcompat: Clarify the StreamOps documentation.Gabriela Moldovan2024-12-101-4/+6
| | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2660#note_3139562
* tor-rtcompat: Require NetStream{Listener,Provider} streams to impl StreamOps.Gabriela Moldovan2024-12-102-7/+5
| | | | Part of #1769
* tor-rtcompat: Add tests for set_tcp_notsent_lowat.Gabriela Moldovan2024-12-101-0/+60
|
* tor-rtcompat: Implement StreamOps for all the stream types.Gabriela Moldovan2024-12-106-5/+100
| | | | Part of #1769
* tor-rtcompat: Add a StreamOps trait.Gabriela Moldovan2024-12-102-1/+11
| | | | | | | | This trait will provide additional operations on `Stream`s. For now, the only supported operation is `set_tcp_notsent_lowat` (needed for #1728). Part of #1769
* 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.
* Fix Windows compilation after moving unix::SocketAddr.Nick Mathewson2024-10-291-6/+6
|
* Remove re-export of "general::*" from tor-rtcompat.Nick Mathewson2024-10-291-17/+15
|
* Remove re-export of "unix" from tor_rtcompat.Nick Mathewson2024-10-297-24/+26
|
* Extract general::SocketAddr and its unix friends to their own crate.Nick Mathewson2024-10-292-532/+24
| | | | This is mostly code motion.
* general::SocketAddr: Say "inet" rather than "tcp"Nick Mathewson2024-10-171-35/+35
| | | | | | | | | | "inet" makes more sense, since in principle these can also be used for udp, etc. Also making a corresponding change in rpc-connect-sketch.md, which uses this format. Closes #1701.
* rtcompat: Fix android compilation in `general`Nick Mathewson2024-10-171-1/+3
| | | | | | | | Previously I had assumed that `std::os::linux` also existed on android, based on the documentation of `std::os::linux::net::SocketAddrExt`. That is not, however, true. This should fix the `check-targets` CI job.
* rtcompat: Add a fuzzer for round-trip general::SocketAddr parsing.Nick Mathewson2024-10-161-0/+48
| | | | (This turned up another place where we need documentation.)
* general::SocketAddr: Format the unnamed address as "unix:"Nick Mathewson2024-10-161-5/+12
| | | | | This matches our parsing, and our general rule that our parser defers to SocketAddr::from_pathname.
* Add reverse-enginered description of Rust socketaddr formats.Nick Mathewson2024-10-161-0/+32
|
* general::SocketAddr: Add unit testsNick Mathewson2024-10-161-38/+69
|
* general::SocketAddr: Implement PartialEq.Nick Mathewson2024-10-161-0/+39
| | | | Needed for tests.
* general::SocketAddr: Specify and implement string representations.Nick Mathewson2024-10-161-1/+285
| | | | Closes #1681.
* tor-rtmock: dyn_time tests: rustfmtIan Jackson2024-10-081-3/+1
|
* tor-rtmock: dyn_time tests: Check DropCount on type-mismatch pathIan Jackson2024-10-081-1/+7
|
* tor-rtmock: dyn_time tests: Make try_downcast_string return S, not implIan Jackson2024-10-081-3/+3
| | | | | This will make it possible to use on a DropCounter and get a DropCounter back.
* tor-rtmock: dyn_time tests: Break out try_downcast_stringIan Jackson2024-10-081-8/+8
|
* tor-rtmock: dyn_time tests: Rename try_downcast_dc from chkIan Jackson2024-10-081-2/+2
| | | | This will be clearer
* Merge branch 'dyn-time' into 'main'Ian Jackson2024-10-018-3/+323
|\ | | | | | | | | Provide a type-erased SleepProvider + CoarseTimeProvider and use it for memquota queues See merge request tpo/core/arti!2460
| * tor-rtcompat: dyn_time: Combine test cases into module (fmt)Ian Jackson2024-10-011-27/+28
| |
| * tor-rtcompat: dyn_time: Combine test cases into moduleIan Jackson2024-10-011-7/+24
| |
| * tor-rtcompat: Test case demonstrating downcast_value doesn't dropIan Jackson2024-10-011-0/+25
| | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2460#note_3085583
| * tor-rtcompat: Comments about the implementation of downcast_valueIan Jackson2024-10-011-0/+18
| | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2460#note_3085582
| * tor-rtcompat: Comments about tradeoffs in special casing PreferredRuntimeIan Jackson2024-10-011-1/+14
| | | | | | | | | | Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2460#note_3085581
| * tor-rtcompat: Introduce DynTimeProviderIan Jackson2024-09-262-0/+235
| | | | | | | | | | | | | | | | | | This will replace the internal ad-hoc DynCoarseTimeProvider in tor-memquota. We need this to be public because it's going to be shared by many of our protocol elements (eg ClientCirc, Channel, etc.) as they need to use it for their mq queues.
| * tor-memquota: mq_queue: Take Account by referenceIan Jackson2024-09-261-1/+3
| | | | | | | | | | | | It doesn't need an owned value here. (clippy's note about this was defeated by this being a trait method.)
| * CI: run miri, currently on tor-rtcompatIan Jackson2024-09-267-3/+12
| | | | | | | | | | | | I'm about to add some unsafe which I want tested in CI. We must disable two tests.
* | tor-rtcompat: Suppress a dead code warningIan Jackson2024-09-301-0/+3
|/ | | | | | | | | | | | | | | Fixes cargo check --all-features -p tor-async-utils --all-targets which otherwise prints warning: function `new_unnamed_socketaddr` is never used --> crates/tor-rtcompat/src/unix.rs:14:15 | 14 | pub(crate) fn new_unnamed_socketaddr() -> std::io::Result<SocketAddr> { | ^^^^^^^^^^^^^^^^^^^^^^ | = note: `#[warn(dead_code)]` on by default
* Upgrade to derive_more version 1.0.0Nick Mathewson2024-09-251-3/+2
| | | | | | The `derive_more` crate broke backward compatibility with this version, so this change involved quite a few manual fixups. With luck, they'll keep compatibility for some while in the future.
* rtcompat: Finalize names for general::SocketAddr.Nick Mathewson2024-09-242-44/+52
|
* rtcompat: Expose FakeStream and friends; fix compilation in tor-rtmockNick Mathewson2024-09-243-10/+8
| | | | | It turns out that these types are generally useful, and that they are in fact needed for tor-rtmock to compile without a PreferredRuntime.
* rtcompat: Fix some rustdoc links.Nick Mathewson2024-09-244-6/+6
|
* rtcompat: remove async_trait from NetStreamListener.Nick Mathewson2024-09-244-5/+0
| | | | (The trait no longer has any async methods.)
* Make Runtime require NetStreamProvider<unix::SocketAddr>Nick Mathewson2024-09-244-8/+27
|
* rtcompat: initial implementation for "Abstract" addresses.Nick Mathewson2024-09-242-0/+147
| | | | | This is feature-complete, but will need tests. I'm holding off at this point so we can discuss naming on these types.
* rtcompat: Require Sync and 'static for NetStreamListener::IncomingNick Mathewson2024-09-242-2/+6
|