grpc-java
grpc-java copied to clipboard
The Java gRPC implementation. HTTP/2 based RPC
A bug was found in the new pickfirst balancer in gRPC Go which can cause the balancer to get stuck in `IDLE` state: https://github.com/grpc/grpc-go/pull/8615. The implementation of the pickfirst LB...
Change a log statement that tends to spam the logs to `Level.FINE`.
For example, `BinderClientTransport` delays `transportTerminated()` until all in-flight calls complete but it doesn't consider all the work it may have enqueued on all the various Executors. We should either cancel...
### Is your feature request related to a problem? When Cronet is used as the underlying transport engine for GRPC. The default read buffer size created is quite small (4KB)....
### The problem We identified a bug https://github.com/grpc/grpc-java/issues/12329 where the server did not adhere to HTTP semantics as per the RFC. Ideally, this kind of bug should be caught automatically...
Relates to https://github.com/grpc/grpc-java/pull/12327 > PS: Not using android.net.ConnectivityManager.NetworkCallback#onCapabilitiesChanged for API 24+ can also be an issue if capabilities change and user needs to receive updates. This PR should improve network...
I made a new client for the [`ManualFlowControlServer` example](https://github.com/grpc/grpc-java/blob/7d6ea288a2286af8cac7617810e758c3c9c03f5a/examples/src/main/java/io/grpc/examples/manualflowcontrol/ManualFlowControlServer.java): ```java import io.grpc.Grpc; import io.grpc.InsecureChannelCredentials; import io.grpc.ManagedChannel; import io.grpc.StatusException; import java.time.Duration; public class BidiBlockingClient { public static void main(String[] args) throws...
implementing gRFC A65 [proposal/pull/372](https://github.com/grpc/proposal/pull/372). This change contains: 1. New aggregate `ResourceAllocatingChannelCredentials` class that holds a `ChannelCredentials` instance and associated list of `Closeable` objects representing resources allocated during given `ChannelCredentials` instantiation....
BinderTransport's TRANSPORT_ATTR_LOCAL_ADDR is different than its peer's TRANSPORT_ATTR_REMOTE_ADDR
Today: - BinderClientTransport's remote is the AndroidComponentAddress passed to bindService(), which makes sense. - BinderServerTransport's local is its server's "listening" address, a meaningless concept constructed by calling `AndroidComponentAddress.forContext()` on the...