Daniel Alm
|
6af3914244
Add a method to `ServerSessionClientStreaming` to return an error status without a result.
|
7 years ago |
Daniel Alm
|
e7645b48ef
Add sample test suites to demonstrate how one would test client/server code.
|
7 years ago |
Daniel Alm
|
415307ee6f
Fix the GRPCTests again without using a sleep call:
|
7 years ago |
Daniel Alm
|
9c54d0a089
Try making Travis cache the SwiftPM dependencies and APT repositories, for faster CI builds.
|
7 years ago |
Daniel Alm
|
7935aebf14
Fix a minor error in the Travis build script.
|
7 years ago |
Daniel Alm
|
c9620048f5
Make the test expectations on `receive` consistent across Linux and macOS.
|
7 years ago |
Daniel Alm
|
9128b60c69
Make `OperationGroup` cache its `...Metadata` properties, as those methods actually *move* the metadata (so a second call to these methods would previously always return empty metadata objects).
|
7 years ago |
Daniel Alm
|
2313a9933f
Fix two compiler warnings.
|
7 years ago |
Daniel Alm
|
da28b9aec2
Change the `ServerSession`s such that errors thrown during operation are returned to the client.
|
7 years ago |
Daniel Alm
|
f6d4341682
Make `Server` retain its active handlers without having to resort to a `handlers` set.
|
7 years ago |
Daniel Alm
|
cf323b474c
Get rid of the `callbackQueue` argument for `CompletionQueue.runToCompletion`, as we only use it on one occasion, and on that occasion we already dispatch the completion block on that queue anyway.
|
7 years ago |
Daniel Alm
|
da52b27f2c
Only enter the `messageQueueEmpty` dispatch group if we are certain that the message has been appended to the queue.
|
7 years ago |
Daniel Alm
|
7ed242e571
"Fix" GRPCTests again by inserting a small delay in between sends. We really don't want to need such delays, so this is only a temporary fix until I finally find the proper underlying cause.
|
7 years ago |
Daniel Alm
|
0985a47176
Also add client-timeout tests and rename "ErrorHandlingTests" to "ConnectionFailureTests".
|
7 years ago |
Daniel Alm
|
2ebe048765
Add tests to ensure that server-side timeouts are handled as expected.
|
7 years ago |
Daniel Alm
|
c1b54e679a
Fix how the server handles unknown methods (broken by me in ac7979d5, I had forgotten that sending initial metadata is required).
|
7 years ago |
Daniel Alm
|
d3afc45926
Ensure that any operation groups enqueued on a completion queue after receiving SHUTDOWN still have their completion handlers called.
|
7 years ago |
Daniel Alm
|
90601ab831
Avoid an extra dispatch in `Call.sendWithoutBlocking`.
|
7 years ago |
Daniel Alm
|
f814a34949
Formatting: Replace several occurrences of `catch (let ...)` with just `catch`.
|
7 years ago |
Daniel Alm
|
ab21b2c464
Cleanup: Replace as many methods on `Handler` with their corresponding `Call` equivalents as possible, so that only server-specific methods are left in `Handler`.
|
7 years ago |
Daniel Alm
|
8b8e6c86dd
Replace some magic numbers with more understandable constants.
|
7 years ago |
Daniel Alm
|
b5e7c19cc2
Avoid displaying the comment about setting the generated project's indentation settings when running `make`.
|
7 years ago |
Daniel Alm
|
800cea150f
Tweak the visibility of `Handler.call`.
|
7 years ago |
Daniel Alm
|
17b32f51bb
Fix a potential race condition where operation group completion handlers could get called twice, as well as an unsynchronized access to `CompletionQueue.operationGroups` that should be synchronized.
|
7 years ago |
Daniel Alm
|
4cae6e5625
Fix gRPCTests:
|
7 years ago |
Daniel Alm
|
730699d789
Replace a few semaphores with `call.messageQueueEmpty.wait()`.
|
7 years ago |
Daniel Alm
|
9916aeaa36
Consolidate a few more calls into `StreamSending`.
|
7 years ago |
Daniel Alm
|
cacd605004
Fix the SSL-enabled tests.
|
7 years ago |
Daniel Alm
|
be3fae437b
Also extract streaming sending methods into a dedicated `StreamSending` protocol.
|
7 years ago |
Daniel Alm
|
ac7979d5e0
Ensure that errors in client calls are always provided to the user.
|
7 years ago |