Skip to content

Commit

Permalink
tower-abci: v038's Server::listen_unix() is only used in unix builds (
Browse files Browse the repository at this point in the history
#47)

this adds a `#[cfg(target_family = "unix")]` gate to the `listen_unix` method
of `Server`. this fixes a broken build on non-unix systems.

---

example:

```
; git show --oneline --quiet HEAD
4b73065 (HEAD -> main, origin/main, origin/HEAD) tower-abci: use `[email protected]` (#46)
; cargo build --quiet --target x86_64-pc-windows-msvc && echo "build passed"
error[E0432]: unresolved import `tokio::net::UnixListener`
  --> src/v038/server.rs:9:39
   |
9  |     net::{TcpListener, ToSocketAddrs, UnixListener},
   |                                       ^^^^^^^^^^^^
   |                                       |
   |                                       no `UnixListener` in `net`
   |                                       help: a similar name exists in the module: `TcpListener`
   |
note: found an item that was configured out
  --> .cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.35.1/src/net/mod.rs:50:29
   |
50 |     pub use unix::listener::UnixListener;
   |                             ^^^^^^^^^^^^

For more information about this error, try `rustc --explain E0432`.
error: could not compile `tower-abci` (lib) due to 1 previous error
; git switch unix-guard-v038
branch 'unix-guard-v038' set up to track 'heliaxdev/unix-guard-v038'.
Switched to a new branch 'unix-guard-v038'
; git show --oneline --quiet HEAD
52382f4 (HEAD -> unix-guard-v038, heliaxdev/unix-guard-v038) add feature guard to unix-only listener in v038
; cargo build --quiet --target x86_64-pc-windows-msvc && echo "build passed"
build passed
```
  • Loading branch information
tzemanovic authored May 10, 2024
1 parent 4b73065 commit e39c13b
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions src/v038/server.rs
Original file line number Diff line number Diff line change
@@ -1,12 +1,11 @@
use std::convert::{TryFrom, TryInto};
use std::path::Path;

use futures::future::{FutureExt, TryFutureExt};
use futures::sink::SinkExt;
use futures::stream::{FuturesOrdered, StreamExt};
use tokio::io::{AsyncReadExt, AsyncWriteExt};
use tokio::{
net::{TcpListener, ToSocketAddrs, UnixListener},
net::{TcpListener, ToSocketAddrs},
select,
};
use tokio_util::codec::{FramedRead, FramedWrite};
Expand Down Expand Up @@ -126,8 +125,9 @@ where
ServerBuilder::default()
}

pub async fn listen_unix(self, path: impl AsRef<Path>) -> Result<(), BoxError> {
let listener = UnixListener::bind(path)?;
#[cfg(target_family = "unix")]
pub async fn listen_unix(self, path: impl AsRef<std::path::Path>) -> Result<(), BoxError> {
let listener = tokio::net::UnixListener::bind(path)?;
let addr = listener.local_addr()?;
tracing::info!(?addr, "ABCI server starting on uds");

Expand Down

0 comments on commit e39c13b

Please sign in to comment.