| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
| |
This hopefully better shows that there's nothing to use here for general
socket types.
|
| |
|
|
|
|
|
|
|
| |
This adds the trait type `ConnectOptions` to `NetStreamProvider` and adds
this `ConnectOptions` as an argument to `NetStreamProvider::connect()`.
You probably want to look at the changes in tor-rtcompat first, then the
rest of this commit is updating the various places we use
`NetStreamProvider`.
|
| |
|
|
|
|
|
|
|
| |
This adds the trait type `ListenOptions` to `NetStreamProvider` and adds
this `ListenOptions` as an argument to `NetStreamProvider::listen()`.
You probably want to look at the changes in tor-rtcompat first, then the
rest of this commit is updating the various places we use
`NetStreamProvider`.
|
| |
|
|
|
| |
These are all aimed at figuring out in more detail what's going on
in #2079 and related issues.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
First, run
```
git grep -l "^edition =" |
xargs perl -i -pe 's/^edition *=.*/edition = "2024"/;'
```
Second, manually verify that all Cargo.toml files have changed,
and nothing else has changed.
Third, run cargo fmt again.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Needed for cases where we wrap an object that implements `StreamOps` in
an external type, thereby losing access to the `StreamOps`
functionality. For example, during the channel handshake, we `.split()`
the stream that implements `StreamOps`, which leaves us with a
`SplitSink` and a `SplitStream`, neither of which implement `StreamOps`.
Getting a handle to the underlying object that implements `StreamOps`
(for example, a file handle) *before* the stream is `.split()` enables
us to use `StreamOps` to manipulate the underlying split stream.
This commit also introduces a special `UnsupportedStreamOpsHandle`,
which is a type that implements `StreamOps`, but always returns an
error. This type is meant to simplify error handling and usage, and is
meant to be used in cases where `StreamOps` is not supported. TODO: the
name of this type is pretty confusing (it's very similar to
`UnsupportedStreamOp`, which is an error type), and should probably be
renamed to something else (`NoOpStreamOpsHandle`,
`BrokenStreamOpsHandle`, `DummyStreamOpsHandle` come to mind...).
Note: this changes the `StreamOps` trait to be slightly different from
what I originally envisioned in !2660 and #1769
|
| | |
|
| |
|
|
| |
Part of #1769
|
| |
|
|
| |
Part of #1769
|
| | |
|
| | |
|
| |
|
|
| |
This is mostly code motion.
|
| |
|
|
|
|
|
|
|
|
| |
"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.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
| |
(This turned up another place where we need documentation.)
|
| |
|
|
|
| |
This matches our parsing, and our general rule that our parser
defers to SocketAddr::from_pathname.
|
| | |
|
| | |
|
| |
|
|
| |
Needed for tests.
|
| |
|
|
| |
Closes #1681.
|
| |
|