Commit Graph

393 Commits

Author SHA1 Message Date
Mikael Mengistu 0e4731e480
Expose Transport and Application Max Buffer Sizes (#1473) 2018-02-25 08:47:14 +00:00
Ryan Brandenburg f7da0edcb2 Skip ConnectionCanSendAndReceiveMessages 2018-02-23 11:45:24 -08:00
Andrew Stanton-Nurse 6a2d41cc9f
Fix #924 by introducing HubDispatcher abstraction (#1479) 2018-02-22 20:59:34 -08:00
David Fowler 32baa655b9
Do over the websocket transport (#1481)
* Do over the websocket transport
- Unify client and server logic (no code sharing yet)
- Removed use of cancellation tokens to communicate shutdown and instead used the pipe reader and socket abort.
- Added CloseTimeout to HttpOptions
2018-02-22 15:19:25 -08:00
David Fowler 7d035f48bc
Revert "Add timeout back to hanging test (#1480)" (#1482)
This reverts commit 09adc4a847.
2018-02-22 00:44:06 -08:00
David Fowler 09adc4a847
Add timeout back to hanging test (#1480)
- Increase timeout to 60 seconds
2018-02-21 21:50:50 -08:00
Andrew Stanton-Nurse b3a33efeae Update MsgPack-Cli version
* Fixes #1301
* Fixes #1058
* Fixes #1422
2018-02-20 13:57:42 -08:00
David Fowler c8d4cf689f
Tackling some low hanging performance fruit (#1470)
* Tackling some low hanging performance fruit
- Use native Memory/Span APIs on Stream and WebSocket in .NET Core 2.1
- Remove double copying in formatters
- Implemented custom HttpContent over ReadOnlyBuffer<byte>
2018-02-20 13:50:31 -08:00
David Fowler bfa2df1fc6
Remove timeout from receive tcs. (#1471)
* Remove timeout from receive tcs.
- This test echos a large message and it fails sometimes before the entire thing is delivered. Just drop the timeout.
- Avoid creating timers for already completed tasks
2018-02-19 20:15:47 -08:00
David Fowler e1bb2215e5
Remove the Channel<HubMessage> from the HubConnectionContext (#1468)
* Remove the Channel<HubMessage> from the HubConnectionContext
- Replace the channel with a single lock around the pipewriter. Since writes are always synchronous, the lock is held for a very short time.
- We were only using them in this scenario for handling multiple producers (the hub output, the keep alive ping and the broadcast).
- Handle the scenario where there's back pressure (when we use pipes that are bounded) and give callers a single task representing when back pressure is released.
- Handle synchronous exceptions in RedisHubLifetimeManager
- Fixed benchmarks
2018-02-17 10:22:11 -08:00
BrennanConroy 3acd29ec6f Revert "Fix flaky SSE test (#1279)"
This reverts commit 6fcf554c23.
2018-02-16 19:01:54 -08:00
BrennanConroy 6fcf554c23
Fix flaky SSE test (#1279) 2018-02-15 09:56:02 -08:00
BrennanConroy d9b32ee323
Logging invocations with errors would throw inside logger (#1445) 2018-02-13 14:57:21 -08:00
David Fowler 6c22f25818
Client pipelines (#1435)
- Reworked the Client to be based on pipelines instead of Channels
- SendAsync no longer fails if the http request itself fails but the connection is closed as a result.
- Updated tests
- Base64Encoder needed to support multiple messages in the same span of data
2018-02-12 22:27:43 -08:00
David Fowler 75efe025c3 Skipping flaky tests 2018-02-10 22:17:07 -08:00
BrennanConroy 9589775f3d
Run tests outside of xunit synccontext (#1427) 2018-02-10 20:58:27 -08:00
David Fowler 94155b0e89
Use protocol.abstractions primitives instead of socket abstractions (#1432) 2018-02-10 18:10:09 -08:00
David Fowler 01f4bf01cc Disambiguate between protocol abstractions and sockets (this is temporary) 2018-02-10 13:59:46 -08:00
David Fowler 3e568588d2
Revert "Use protocol.abstractions primitives instead of socket abstractions (#1429)" (#1431)
This reverts commit e3f197cef0.
2018-02-10 11:30:41 -08:00
David Fowler e3f197cef0
Use protocol.abstractions primitives instead of socket abstractions (#1429) 2018-02-10 10:45:07 -08:00
David Fowler 2ed78d5762
Don't expose Channel from HubConnectionContext (#1428)
- Change HubEndPoint to call WriteAsync
- Fixed assert  for protocol reader writer
2018-02-09 22:00:28 -08:00
David Fowler 28439d1441
Initial changes to move to pipelines (#1424)
- Change the Sockets abstraction from Channel<byte[]> to pipelines.

#615
2018-02-09 17:45:21 -08:00
Andrew Stanton-Nurse 0435b6dc6e
add headers and revamp msgpack tests (#1382) 2018-02-07 09:36:29 -08:00
Mikael Mengistu 4f7b8f5cf3
Unskip Tests (#1410) 2018-02-06 09:40:57 -08:00
Andrew Stanton-Nurse a0c47c0c66
Increase ServerFixture startup timeout (#1409) 2018-02-06 08:41:16 -08:00
BrennanConroy 5ccc9e3a0e
Remove some test flakiness and add logging (#1402) 2018-02-02 15:04:48 -08:00
BrennanConroy 5ade419c53
Fix flaky test (#1397) 2018-02-01 15:13:40 -08:00
Andrew Stanton-Nurse b61dc35ee6
fix #1199 by suppressing ODE in received callback (#1395) 2018-02-01 15:08:52 -08:00
Ryan Brandenburg 9e03075f65 Skip Flaky tests 2018-02-01 11:59:36 -08:00
Pavel Krymets 9482b4976e Merget release/2.1 2018-01-30 09:48:13 -08:00
Mikael Mengistu e214d5cdfa Reduce LongPolling timeout to accommodate Cloudflare's timeout (#1368)
* Reduce LongPolling timeout to accommodate Cloudflare's timeout
2018-01-29 23:55:08 -08:00
Pavel Krymets ac9db5dc7b
React to pipeline changes (#1365) 2018-01-29 14:36:03 -08:00
BrennanConroy 1cc4098d3a
Defensively stop redis container before starting (#1356) 2018-01-25 21:15:15 -08:00
BrennanConroy 67c76287ed
Return stream method error to client (#1331)
* Return correct error to client from failing stream method
2018-01-24 09:08:27 -08:00
Mikael Mengistu 40e906f23a
Expose IHttpConnectionFeature properties (#1338) 2018-01-23 18:25:53 -08:00
BrennanConroy b088eaa91f
Rename JwtBearer to AccessToken in C# Client (#1333) 2018-01-22 16:05:51 -08:00
BrennanConroy a449345436
Clean up logging (#1308) 2018-01-22 09:37:53 -08:00
BrennanConroy d38764a8f0
Rename InvokeAsync to SendAsync on the server (#1312) 2018-01-19 11:32:50 -08:00
Josh Williams 0311f9b415 Throw InvalidDataException instead of FormatException in NegotationProtocol (#1246)
* Throw InvalidDataException instead of FormatException in NegotationProtocol
 - Modify NegotiationProtocol to throw InvalidDataException
 - Update NegotiationProtocolTests expectations
 - Remove test case for InlineData "Missing required property 'protocol'"
 - Update JsonHubProtocol & JsonUtils to throw InvalidDataException
 - Update corresponding test expectations
 - Add back removed test

Addresses #1203
2018-01-11 13:23:30 -08:00
Andrew Stanton-Nurse 144984e599
Split MsgPack into separate assembly (#1274) 2018-01-10 14:20:57 -08:00
Mikael Mengistu 89b532c985
Invoke Users (#1257) 2018-01-08 17:58:42 -08:00
Mikael Mengistu 8b34b7f2ae
Invoke Multiple Groups (#1254) 2018-01-05 13:57:19 -08:00
Mikael Mengistu e1f9a65083
MultipleClients -> Clients (#1269) 2018-01-05 12:07:26 -08:00
Pavel Krymets 8a4adf1cb6
React to pipeline changes (#1250)
React to pipeline changes
2018-01-04 09:56:39 -08:00
Mikael Mengistu 738617266e
Invoke Multiple Connections (#1242) 2017-12-21 15:19:43 -08:00
Mikael Mengistu ac236efdae
Refactoring HubEndpointTests (#1231) 2017-12-19 15:01:49 -08:00
Andrew Stanton-Nurse 3bb71255d4
clean up HttpConnectionTests (#1208) 2017-12-19 11:12:39 -08:00
Andrew Stanton-Nurse 00a6dc983a
Fix #1170 by removing invocationId from non-blocking calls (#1218) 2017-12-19 10:40:58 -08:00
Mikael Mengistu c8bd72be36
Others in Group (#1230) 2017-12-18 15:27:56 -08:00
Mikael Mengistu eb2668e74e
AllExcept for Groups - GroupExcept (#1204) 2017-12-15 17:34:08 -08:00