grpc / grpc/grpc-java

Provide Attribute for i.n.c.unix.PeerCredentials when using EpollDomainSocketChannel

Offen
#2,646 3 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
enhancement
Vorherrschende Sprache
Java
Sterne
12.1k
Forks
4k
Ø Merge
2 T. 17 Std.
Gemergte PRs (30 T.)
37

Beschreibung

Please answer these questions before submitting your issue.

### What version of gRPC are you using?
grpc 1.0.3

### What JVM are you using (`java -version`)?
java version "1.8.0_111"

### Feature Request
We'd like to get access to the EpollDomainSocketChannel to access method peerCredentials() (new in Netty release 4.1.7) from within a gRPC server's BindableService call.

We're using gRPC with Unix Domain Sockets (Netty's EpollServerDomainSocketChannel) on a server to manage a hardware resource. We allow a single user (but multiple processes) to open the resource more than once, but we need to reserve the resource while that user has it open and not allow any other users access to the device. Our server needs to be resilient and detect that the client program has potentially crashed and allow the resource to be cleaned up and made available for another user.

We can add a ServerInterceptor but still I haven't figured out to get the Channel.

Can we get access from a ServerCall object to the Channel (understanding that it may be null for an Inprocess server)? Or other alternatives?

Beitragsleitfaden

Beitragsleitfaden öffnen

Rechercherichtung

Beginne damit nachzuverfolgen, wie EpollDomainSocketChannel, ServerInterceptor und ServerCall während eines gRPC-Serveraufrufs verfügbar gemacht werden. Ermittle, ob peerCredentials() einem BindableService verfügbar gemacht werden kann, ohne für In-Process-Server vorauszusetzen, dass ein Channel existiert. Als abgeschlossen gilt die Aufgabe, wenn die unterstützte API oder eine Alternative dokumentiert ist und für Unix-Domain-Socket-Clients funktioniert, während das Verhalten für In-Process-Server erhalten bleibt.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
java
Bereich
backend-api-design, networking
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Größtenteils klar
Anfängerfreundlichkeit
25/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.