- moves the client/server behaviour to pb/test
- deprecate current bin/interop/interop_{client,server}.rb
- adds executable endpoints to bin
- grpc_ruby_interop_{client, server}
- these will be added to the ruby bin path when the grpc gem
gem is installed, making them easier to execute
- Updates the code generated for the interop service
- Moves the generated interop service/client from bin to pb
Also
- removes an empty file from the health pb directories
- adds the code-generated health service classes to the pb along with
a README explaining how to regenerate the generated code
- adds an implementation of the Health Checker Service along with unit
tests and an integration test
Also:
- adds a pb folder
: in a follow-up PR, all ruby pbs + generated code will be moved to it
Corrects some other issues
- fixes status return when calls fail by always returning the status
- resolves bidi_call client's failure to return an exception on bad
status by swapping the wait for status to the read thread
* this also improves the cancel_after_first_response test
Also
- adds a unit test that verifies that a bidi call will time out.
- timeout has been a default arg till now
- this switches it to a keyword arg with the same behavior
- in addition, it adds deadline as distinct keyword arg, allowing users
the choice of the idiomatic(timeout) or the aligned(deadline)
For very high performance systems, we're going to want to be able to
simply push the value reported from the server down onto clients.
If we report realtime now, then all wrapped languages are going to
assume it, meaning that such a change will be impossible later.