Andrew Stanton-Nurse
47eafca4d8
CancellationToken EVERYWHERE ( #2101 )
2018-04-20 16:21:51 -07:00
Andrew Stanton-Nurse
b4046b5ed8
Fix #1989 by adding a 'binding failure' pseudo-message ( #2064 )
2018-04-17 20:08:07 -07:00
James Newton-King
4f4dfe1d23
Move RedisLog to Internal namespace ( #2038 )
2018-04-16 18:08:26 +12:00
James Newton-King
b5d5f11ef8
Rename excludedIds to excludedConnectionIds ( #2037 )
2018-04-16 18:03:16 +12:00
James Newton-King
0da06fb5d2
Microsoft.AspNetCore.SignalR.Redis API review ( #2036 )
2018-04-16 15:56:49 +12:00
James Newton-King
b3a9011698
API review changes for Microsoft.AspNetCore.SignalR ( #2033 )
2018-04-16 15:54:42 +12:00
BrennanConroy
3f0a6ebc0d
API Review Dependency Injection ( #2015 )
2018-04-13 17:21:48 -07:00
Andrew Stanton-Nurse
1fbb940b82
Remove MSG from SignalR ( #2006 )
2018-04-13 17:08:02 -07:00
David Fowler
abe139ee16
Make the protocol and messages public ( #1994 )
...
* Move types to a .Protocol namespace
2018-04-13 01:53:41 -07:00
Andrew Stanton-Nurse
0992db9fd2
fix #1914 by switching RedisProtocol to MsgPack ( #1968 )
2018-04-12 12:10:51 -07:00
David Fowler
08f9990c39
Ensure there's a redis connection earlier
2018-04-11 15:25:38 -07:00
James Newton-King
c83baf2b76
Remove params from message ctors ( #1931 )
2018-04-11 12:11:13 +12:00
Mikael Mengistu
e2169ceda6
Connect to Redis asynchronously ( #1922 )
2018-04-10 23:48:11 +00:00
James Newton-King
6bc2ebb4c5
Use invariant culture and ordinal comparisons ( #1928 )
2018-04-10 16:52:19 +12:00
David Fowler
95e868b68c
Remove JsonSerializer ( #1913 )
2018-04-09 02:56:46 -07:00
James Newton-King
0f663cadc4
readonly all the things ( #1901 )
2018-04-08 15:47:01 +12:00
Andrew Stanton-Nurse
19b2fea0d8
Preserialize for all formats when sending through Redis ( #1843 )
2018-04-05 13:48:14 -07:00
James Newton-King
f7fc2647de
var all the things ( #1855 )
2018-04-05 18:41:13 +12:00
James Newton-King
e7b84b753b
Refactor HubConnectionBuilder ( #1830 )
2018-04-04 21:19:13 +12:00
Andrew Stanton-Nurse
6b3a27e73c
Bedrock Renames ( #1777 )
2018-03-30 15:09:19 -07:00
James Newton-King
7f86b92f7e
Handshake and negotiation optimization ( #1731 )
2018-03-29 17:50:45 +13:00
James Newton-King
8c84518ecc
Message writing optimization ( #1683 )
2018-03-29 11:03:40 +13:00
David Fowler
6583e5fb47
Improved allocations and throughput for broadcast scenarios ( #1660 )
...
- Don't allocate when enumerating connections
- Don't allocate tasks unless we truly go async
- Don't get the timestamp, just write the pings always (if there's no ongoing write)
- Track the time since last keep alive write instead of the last write
- ValueTask all the things!
- Renamed HubConnectionList to HubConnectionStore
2018-03-21 09:03:36 -07:00
BrennanConroy
db0dc0f960
Ignore writeasync failures when sending to multiple connections ( #1589 )
2018-03-16 16:48:05 -07:00
BrennanConroy
c640f422e0
Pascal case formatted log parameter names ( #1615 )
2018-03-16 12:13:27 -07:00
James Newton-King
2d6077db4a
Removed params from proxy's SendAsync and rename to SendCoreAsync ( #1605 )
2018-03-16 14:05:22 +13:00
Andrew Stanton-Nurse
2b68db873a
add AddRedis overload that takes connection string ( #1588 )
2018-03-14 16:24:28 -07: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
Dona278
551158c239
Fixed exception during deserialization of a message with Redis ( #1426 )
...
Changed wrong message type used during deserialization in "SubscribeToUser"
2018-02-14 11:30:32 -08:00
Andrew Stanton-Nurse
0435b6dc6e
add headers and revamp msgpack tests ( #1382 )
2018-02-07 09:36:29 -08:00
BrennanConroy
d38764a8f0
Rename InvokeAsync to SendAsync on the server ( #1312 )
2018-01-19 11:32:50 -08:00
BrennanConroy
dfe0697f06
EventId starts at 1 for logging ( #1318 )
2018-01-18 16:11:43 -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
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
eb2668e74e
AllExcept for Groups - GroupExcept ( #1204 )
2017-12-15 17:34:08 -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
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
ff12b9b20c
Replacing StreamCompletion with StreamInvocation
2017-11-13 10:50:15 -08:00
BrennanConroy
9371e7b50a
[Redis] Reorder some code to make it less spaghetti ( #1081 )
2017-11-02 18:38:20 -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
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
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
BrennanConroy
bb308ff72e
LoggerDefine for Redis ( #1002 )
2017-10-18 10:46:03 -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