binder: ServerCall.Listener.onComplete() is called prematurely when transport not ready
- Lingua principale
- Java
- Stelle
- 12.1k
- Fork
- 4k
- Merge medio
- 2g 17h
- PR unite (30g)
- 37
Descrizione
Both SingleMessageServerStream and MultiMessageServerStream implement close() by asking Outbound to enqueue the status and trailers for sending, then calling Inbound#onCloseSent(). This method always calls ServerStreamListener.closed() even though the status and trailers may still be sitting in the Outbound queue due to transport-level flow control.
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Leggi SingleMessageServerStream.close(), MultiMessageServerStream.close() e Inbound#onCloseSent(); traccia come Outbound accoda lo stato e i trailer sotto il controllo di flusso a livello di trasporto. Il lavoro è completato quando ServerStreamListener.closed() non viene attivato mentre questi messaggi rimangono in coda, ma solo dopo che la chiusura è avanzata oltre la notifica prematura.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- java
- Ambito
- backend, networking
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 35/100