Skip to content

Is this project dead? #656

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
Eclextic opened this issue Mar 4, 2025 · 7 comments
Open

Is this project dead? #656

Eclextic opened this issue Mar 4, 2025 · 7 comments

Comments

@Eclextic
Copy link

Eclextic commented Mar 4, 2025

I've been looking at this project because I've come to despise tonic and how they have managed to force tokio usage... I wanted to use monoio so I searched for a different gRPC implementation and reached this project. Now I am asking myself though if it is dead...

Last 7 months no commit at all. The project is left at an "unfinished" state, where features like reflection haven't been implemented yet.

Should I start a new project with this library?

@BusyJay
Copy link
Member

BusyJay commented Mar 5, 2025

It's not dead, but in maintained mode that for bug fix only currently due to lack of resource. However, community feature development is still welcome.

@Eclextic
Copy link
Author

Eclextic commented Mar 5, 2025

So the remaining features won't be developed actively but rather left to the community?

@BusyJay
Copy link
Member

BusyJay commented Mar 5, 2025

Probably. But I believe reflection can be developed sometime.

@Eclextic
Copy link
Author

Eclextic commented Mar 5, 2025

Should I close this now that my answer has been answered or keep it so others also know what's up?

@Eclextic
Copy link
Author

Eclextic commented Mar 5, 2025

Also (and maybe this should be a separate issue, but I'll ask it here) is there a way to use Unix Domain Sockets? There is the connect_from_fd from the ChannelBuilder which seems like what I want, but is there a more "correct" way?

@BusyJay
Copy link
Member

BusyJay commented Mar 6, 2025

Check

mod unix_domain_socket {
use super::*;
fn test_socket(path: &str) {
let env = Arc::new(EnvBuilder::new().build());
let service = create_greeter(PeerService);
let mut server = ServerBuilder::new(env.clone())
.register_service(service)
.build()
.unwrap();
server
.add_listening_port(path, ServerCredentials::insecure())
.unwrap();
server.start();
let ch = ChannelBuilder::new(env).connect(path);
let client = GreeterClient::new(ch);
let req = HelloRequest::default();
let resp = client.say_hello(&req).unwrap();
assert_eq!(resp.message, "unix:", "{resp:?}");
}
#[test]
fn test_unix_domain_socket() {
struct Defer(&'static str);
impl Drop for Defer {
fn drop(&mut self) {
let _ = std::fs::remove_file(&self.0[5..]);
}
}
let socket_path = Defer("unix:test_socket");
test_socket(socket_path.0);
}
#[cfg(target_os = "linux")]
#[test]
fn test_abstract_unix_domain_socket() {
test_socket("unix-abstract:/test_socket");
}
}

@Eclextic
Copy link
Author

Eclextic commented Mar 6, 2025

Thank you very much!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants