grpc / grpc/grpc-java

binder: should use android.os.SharedMemory to transport large messages

Aperta
#10,724 0 commenti 1 reazione 0 assegnatari Vedi su GitHub
android binder enhancement
Lingua principale
Java
Stelle
12.1k
Fork
4k
Merge medio
2g 17h
PR unite (30g)
37

Descrizione

### Is your feature request related to a problem?
Both CPU and wall clock time of sending a message are dominated by the overhead of calling transact(). Today we need O(n) transactions where n is the size of the message.

### Describe the solution you'd like
https://developer.android.com/reference/android/os/SharedMemory could be used to send any sized message in O(1) binder transactions.

### Describe alternatives you've considered
Apps can already accomplish this using ParcelableMetadata, but it is cumbersome and prevents your app from working with other gRPC transports.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

La richiesta riguarda il trasporto dei messaggi di gRPC-Java, android.os.SharedMemory di Android, Binder transact() e l'alternativa ParcelableMetadata esistente. Inizia individuando il percorso di trasporto che esegue chiamate transact() ripetute e l'integrazione di ParcelableMetadata; il lavoro è completato quando i messaggi di grandi dimensioni possono usare SharedMemory con transazioni Binder O(1), mantenendo la compatibilità con gli altri trasporti gRPC.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
android, java
Ambito
backend-api-design, performance
Tipo di issue
Funzionalità
Difficoltà
5/5
Tempo stimato
Più di una settimana
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
25/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.