Mikael Mengistu
6baee8b7a9
Refactor HubContext to not Implement IHubClients ( #1262 )
2018-01-02 17:26:10 -08:00
Mikael Mengistu
738617266e
Invoke Multiple Connections ( #1242 )
2017-12-21 15:19:43 -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
BrennanConroy
588d9cdb11
Use Utf8Parser instead of custom code ( #1200 )
2017-12-12 11:55:48 -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
Andrew Stanton-Nurse
a8330067c4
Implement #1157 by adding client timeout for C# client ( #1165 )
2017-12-07 14:54:41 -08:00
Andrew Stanton-Nurse
6e152e24e1
forgot a copyright header ( #1183 )
2017-12-05 16:51:24 -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
Pranav K
887e22ec07
Eclipse S.T.Tasks.Extension version referenced by S.T.Channels
2017-11-22 19:53:01 -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
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
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
5d8aa1ee2a
Fix a couple flaky tests ( #1116 )
2017-11-14 14:44:15 -08:00
BrennanConroy
9789e09cfb
Adding EventSource/EventCounters to Sockets ( #1083 )
2017-11-14 09:04:35 -08:00
BrennanConroy
792745ad98
React to CoreFxLab packages ( #998 )
2017-11-13 15:05:35 -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
BrennanConroy
9371e7b50a
[Redis] Reorder some code to make it less spaghetti ( #1081 )
2017-11-02 18:38:20 -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
BrennanConroy
8c446fc02d
[Redis] Save a few bytes for acks ( #1070 )
2017-11-01 16:48:36 -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
BrennanConroy
83bb07d5a4
Fix parameter name ( #1066 )
2017-10-30 12:55:12 -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
BrennanConroy
30e7422407
Enable reconnect for Redis connection by default ( #1037 )
2017-10-24 14:30:13 -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
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
Mikael Mengistu
04d4da2987
Replace Received Event with OnReceived ( #1006 )
2017-10-18 17:10:51 -07:00
BrennanConroy
bb308ff72e
LoggerDefine for Redis ( #1002 )
2017-10-18 10:46:03 -07:00
Gurgen Hakobyan
b3ac9f4bf8
Not very important code optimization ( #1030 )
...
Code optimization
2017-10-18 09:23:32 -07:00
BrennanConroy
0e70c7950b
Adding Redis Unit tests ( #1013 )
2017-10-17 15:48:29 -07:00
BrennanConroy
878a70226c
[Redis] Remove groups properly from connection diconnection ( #1010 )
...
And properly short circuit group actions for local connections
2017-10-17 14:15:00 -07:00
gurgen
af286c81bb
Groups collection without lock
2017-10-17 12:06:05 -07:00
BrennanConroy
de34990241
Short Circuit message to local connection in Redis ( #1009 )
2017-10-11 13:17:49 -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
ivankarpey
665f166d67
fix issue with incorrect user detection when Invoking for User ( #747 )
...
* fix issue with incorrect user detection when Invoking for User
* fix failed testcases
* use proper extension method to avoid potential null reference exception
* fix for channel name in redis version + follow SignalR team recommendations
* remove unncessary freespace
* remove whitespaces
* introduce IUserIdProvider to resolve user id
* Move IUserIdProvider from HubLifetimeManager to HubConnectionContext
* setting user id to connection context in hubendpoint
2017-10-06 11:58:18 -07:00
Kai Ruhnau
3c5d283689
Fix the VarInt example for the 2GiB
...
`0x7fffffff` has 31 binary ones. The first four bytes of the VarInt account for 4*7=28, so the fifth byte only needs the remaining three
2017-10-06 10:38:21 -07:00