Daniel Alm
|
d8ac7d41f0
Fix GRPCTests, hopefully once and for all (see 415307ee for an explanation).
|
пре 7 година |
Daniel Alm
|
78a1291789
Fix two huge memory leaks in `cgrpc_call` and `cgrpc_handler`. These would all GRPC call objects to never get released, which in turn caused their completion queues and associated file descriptors to never get released. This became apparent after ~3-5k requests on macOS.
|
пре 7 година |
Tim Burks
|
951a20acba
Merge pull request #184 from MrMage/more-improvements
|
пре 7 година |
Daniel Alm
|
5d322044ed
Add tests to verify the behavior of canceling client and server calls.
|
пре 7 година |
Daniel Alm
|
8d07183369
Add a blocking variant of the `send` method to `ServerStreaming`.
|
пре 7 година |
Daniel Alm
|
6af3914244
Add a method to `ServerSessionClientStreaming` to return an error status without a result.
|
пре 7 година |
Daniel Alm
|
e7645b48ef
Add sample test suites to demonstrate how one would test client/server code.
|
пре 7 година |
Daniel Alm
|
415307ee6f
Fix the GRPCTests again without using a sleep call:
|
пре 7 година |
Daniel Alm
|
9c54d0a089
Try making Travis cache the SwiftPM dependencies and APT repositories, for faster CI builds.
|
пре 7 година |
Daniel Alm
|
7935aebf14
Fix a minor error in the Travis build script.
|
пре 7 година |
Daniel Alm
|
c9620048f5
Make the test expectations on `receive` consistent across Linux and macOS.
|
пре 7 година |
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 година |
Daniel Alm
|
2313a9933f
Fix two compiler warnings.
|
пре 7 година |
Daniel Alm
|
da28b9aec2
Change the `ServerSession`s such that errors thrown during operation are returned to the client.
|
пре 7 година |
Daniel Alm
|
f6d4341682
Make `Server` retain its active handlers without having to resort to a `handlers` set.
|
пре 7 година |
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 година |
Daniel Alm
|
da52b27f2c
Only enter the `messageQueueEmpty` dispatch group if we are certain that the message has been appended to the queue.
|
пре 7 година |
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 година |
Daniel Alm
|
0985a47176
Also add client-timeout tests and rename "ErrorHandlingTests" to "ConnectionFailureTests".
|
пре 7 година |
Daniel Alm
|
2ebe048765
Add tests to ensure that server-side timeouts are handled as expected.
|
пре 7 година |
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 година |
Daniel Alm
|
d3afc45926
Ensure that any operation groups enqueued on a completion queue after receiving SHUTDOWN still have their completion handlers called.
|
пре 7 година |
Daniel Alm
|
90601ab831
Avoid an extra dispatch in `Call.sendWithoutBlocking`.
|
пре 7 година |
Daniel Alm
|
f814a34949
Formatting: Replace several occurrences of `catch (let ...)` with just `catch`.
|
пре 7 година |
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 година |
Daniel Alm
|
8b8e6c86dd
Replace some magic numbers with more understandable constants.
|
пре 7 година |
Daniel Alm
|
b5e7c19cc2
Avoid displaying the comment about setting the generated project's indentation settings when running `make`.
|
пре 7 година |
Daniel Alm
|
800cea150f
Tweak the visibility of `Handler.call`.
|
пре 7 година |
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 година |
Daniel Alm
|
4cae6e5625
Fix gRPCTests:
|
пре 7 година |