Commit Graph

350 Commits

Author SHA1 Message Date
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
Geovanny Alzate Sandoval 31ef3c49df Makes MapHub and MapEndpoint consistent with other ASP.NET Core APIs using PathString. #1188 2017-12-13 09:14:36 -08:00
Pawel Kadluczka 66ab939cff Making HttpConnection restartable (C#) (#1147)
🎉
2017-12-12 10:08:42 -08:00
Mikael Mengistu 75e102f97a
Support for Others and Caller Client Subsets(#1192) 2017-12-11 17:30:53 -08:00
BrennanConroy 7246e58189
Skip WebSockets on win7 and 2008 (#1194) 2017-12-08 10:07:49 -08:00
Andrew Stanton-Nurse a8330067c4
Implement #1157 by adding client timeout for C# client (#1165) 2017-12-07 14:54:41 -08:00
BrennanConroy 15c3bca8e6
Change log names in testing and assembly logs are from (#1182) 2017-12-05 17:05:22 -08:00
Andrew Stanton-Nurse ae9c3cf04d
expand ping test expectations to avoid flakiness (#1181) 2017-12-05 10:46:12 -08:00
Andrew Stanton-Nurse c1d2024864
Implement #1156 by having the server send Ping messages (#1161) 2017-12-04 14:43:27 -08:00
Andrew Stanton-Nurse e4671392ec
Fix #1140 by plumbing WebSocketOptions up to HttpOptions (#1174) 2017-12-02 17:01:53 -08:00
Andrew Stanton-Nurse 3005337a9c
fix #625 by implementing HubMethodNameAttribute (#1173) 2017-12-01 09:48:26 -08:00
BrennanConroy 531c7cfba1
More micro benchmarks (#1158)
- Hub Protocol benchmark
- Broadcast benchmark
- Run benchmarks validation during builds
2017-11-28 15:39:58 -08:00
Pawel Kadluczka 4394b57143 JWT C# Sample 2017-11-21 16:32:56 -08:00
Pawel Kadluczka 0bafb304c2 Adding support for JWT in the C# client
Fixes: #1018

(Bonus: also enabling passing headers)
2017-11-21 16:32:56 -08:00
BrennanConroy fadd6f89fd
Start Redis first in tests (#1146) 2017-11-21 14:03:54 -08:00
BrennanConroy 93cbf4dbef
Change negotiate to POST (#1122) 2017-11-17 15:31:47 -08:00
Pawel Kadluczka 046553cfe4 Avoiding serializing to MemoryStream 2017-11-17 15:02:21 -08:00
BrennanConroy 75274c76d5
Give redis docker image time to download (#1131) 2017-11-17 10:32:15 -08:00
Pranav K 439f2a7892 Update samples and tests to target netcoreapp2.1 2017-11-16 13:38:46 -08:00
Andrew Stanton-Nurse cb3124be17
First pass at Keep Alive (#1119)
This adds the Ping message type and support for sending/receiving it in the Hub Protocols. It does not add the logic to transmit keep-alive frames.
2017-11-16 09:45:13 -08:00
Pawel Kadluczka 379160707f
Switching to new base64 APIs (#1127) 2017-11-16 09:20:40 -08:00
BrennanConroy 3a8f512fa7
Couple more reaction changes for Hosting (#1126) 2017-11-15 13:31:17 -08:00
BrennanConroy 34b0445dd8
React to delayed Configure in Hosting (#1118) 2017-11-14 14:43:56 -08:00
BrennanConroy ff43390ed2
[Redis] Add functional test support (#1051) 2017-11-14 09:32:14 -08:00
BrennanConroy 792745ad98 React to CoreFxLab packages (#998) 2017-11-13 15:05:35 -08:00
BrennanConroy f21d107766
Use different ports in ServerFixture for testing (#1112) 2017-11-13 11:32:38 -08:00
Pawel Kadluczka ff12b9b20c Replacing StreamCompletion with StreamInvocation 2017-11-13 10:50:15 -08:00
Mikael Mengistu 1a21fd49b1
Changing the Closed Event to be a Task (#1080) 2017-11-09 17:51:13 -08:00
Pawel Kadluczka 06475270ec
Actually throwing exceptions from SendAsync (#1084)
SendAsync was using InvokeCoreAsync code to send messages. In case of exception InvokeCoreAsync is blocking and returns a task to the user so they can await for the remote call to complete. Any exception thrown is caught and used to fail the task returned to the user. SendAsync does not return a special task to the user so re-using InvokeCore resulted in swallowing exceptions. While SendAsync is fire and forget it actually should throw if the message could not be send and it was not happening.

While adding tests it turned out we did not test cases where Invoke/SendAsync/StreamAsync were invoked before starting the connection and this resulted in a NullReferenceException. I also fixed that.
2017-11-03 13:15:11 -07:00
Pawel Kadluczka cc42b0eaef Fixing a bug where cancellation could result in HubException
When the client cancels a streaming method the server would send an error completion. This was not correct because cancellation is not an error. We did not see this because our client ignores any messages for a given streaming invocation after sending a CancelInvokationMessage but other clients may want to drain messages before considering a streaming method canceled.
2017-11-01 20:20:43 -07:00
Nate McMaster e15a38a14c Pin package and tool versions to make build more repeatable 2017-11-01 16:40:51 -07:00
BrennanConroy 2419867dfc
Handle errors in Redis subscription callbacks (#1069) 2017-11-01 10:29:02 -07:00
Pawel Kadluczka 18f770e937
Late parameter binding (#1049)
Late parameter binding

Storing exception thrown during parameter binding and rethrowing when the method is about to throw. This allows completing invocations with a HubException and keeping the connection open.
We will also no longer close the connection if parameters for client side methods cannot be bound. We will log and continue.

Fixes: #818

(Also fixing #1005 because I was just touching this line)
2017-10-30 11:31:57 -07:00
Mikael Mengistu eec6b4f2f5 Removing Connected event from TestConnection (#1055) 2017-10-24 23:23:56 -07:00
Mikael Mengistu 1768a081ba Updating default pattern(#1046) 2017-10-23 22:20:31 -07:00
Pawel Kadluczka caff492cdc Removing sending OPTIONS request if WebSocket transport requested (#1036)
Removing sending OPTIONS request if WebSocket transport requested

This removes session stickiness requirement for WebSockets

Fixes: #1035
2017-10-23 10:28:33 -07:00
Mikael Mengistu 5ffb082acb Add Missing Await in Test (#1045) 2017-10-22 23:37:12 -07:00
BrennanConroy 9cc5d13a40 [Redis] Adding same group to connection multiple times should NOP (#1040)
* Added some additional tests too
2017-10-20 14:29:08 -07:00
Pawel Kadluczka 8d1d6d0300 Adding StreamCompletion message (C#) 2017-10-19 18:20:03 -07:00
Pawel Kadluczka a903a74db1 Adding roundtripping test for CancelInvocation message (#1031)
* Adding roundtripping test for CancelInvocation message
2017-10-18 22:49:15 -07:00
Mikael Mengistu 04d4da2987 Replace Received Event with OnReceived (#1006) 2017-10-18 17:10:51 -07:00
BrennanConroy 0e70c7950b Adding Redis Unit tests (#1013) 2017-10-17 15:48:29 -07:00
BrennanConroy 8701baf73d Add negotiate timeout option to hub options (#1003) 2017-10-11 08:59:37 -07:00
BrennanConroy de2e0967c3 Adding CancelInvocation message (#979)
* For Streaming only. And C# client only.
2017-10-06 15:55:39 -07:00