It was originally a Beta requirement, and then it was a GA requirement, and now GA isn't blocked on it.
I think Java is the only implementation with out it.
hanlong
yes i saw it for golang, but for Android definitely need the java one :D
ejona
Just so I know, how are you going to be using it?
rgrinberg joined the channel
hanlong
we have a RPC call that continuously streams to the Android/iOS client as long as the app is in the foreground, so when the channel breaks due to network issues we want to reconnect asap, that's why i wanted to use the channel state to know when that is
derferma_ joined the channel
derferma_ has quit
otherwise i have to rudimentarily do my own exponential backoff to try to redo the RPC call because I dont know when the channel is alive or not. I looked at the TransportSet, it's a final class with all the stuff I need as private, the interceptors don't work either since it is after the channel is up
ejona
Okay, so you want it to know when the connection is ready again.
You may be interested in the "non fail fast" behavior, which will wait until the Channel is ready before sending the RPC.
hanlong
i'll be very interested in chatting with you at the meetup, we are trying to use gRPC for our app
ejona
I'd like that as well.
derferman has quit
The two primary use cases for the channel state api are 1) notifying connectivity details to the user/consumer and 2) allowing you to avoid Channels/servers that are down (mainly when in a datacenter)
derferman joined the channel
hanlong
i get that for servers that are down, but i'm referring more to the case when the client has bad/no network
so what is the preferred paradigm for having a reliable session then when that's the case
ejona
You would do a non-fail fast RPC. That RPC would be delayed by gRPC until the network is available.
hanlong
got it, so that's what 1759 is about
ejona
Yes.
Which should be even more convenient.
(than using channel state API)
hanlong
makes sense
when would that be ready? :D
ejona
:-D GA, which we are expecting is our next release.
hanlong
ok
ejona
We would hope for having it in 1 month, but it may be 2. We really want to go GA in Q2.
No promises though.
hanlong
we actually are shipping a prototype right now that doesn't serve any business logic, just for testing performance and measuring metrics in actual production clients but we need to solve this issue before we use it for actual production flows
ejona
The change itself isn't actually too hard... after you know a lot of internals.
hanlong
ok i'll just leave the exponential backoff retry for the client side rpc for now since it's fail fast for the prototype, i'll sync up with you on 1759 when the time comes when we need it
thanks
derferman has quit
derferman joined the channel
derferman has quit
hanlong has quit
Tica2 joined the channel
ins0mnia joined the channel
hanlong joined the channel
derferman joined the channel
derferman has quit
rgrinberg joined the channel
derferman joined the channel
hanlong has quit
pixelate joined the channel
hanlong joined the channel
ins0mnia
is there any way I can pass a buffer instead of file path to grpc.load() ?