Commit Graph

101 Commits

Author SHA1 Message Date
Brian Chavez 78a0a68cd1 Typos/spelling errors in XML doc comments and source. #Hacktoberfest (#3039) 2018-10-01 14:41:05 -07:00
BrennanConroy 2265acde78
Don't start stream if already canceled (#2764) 2018-08-08 14:04:05 -07:00
BrennanConroy e78e3db6f4
Honor InherentKeepAliveFeature for server timeout (#2727) 2018-08-06 10:37:12 -07:00
BrennanConroy 651b39bc90 Revert "Merge branch 'master' into release/2.2"
This reverts commit 785200877a, reversing
changes made to 3d6e1e69fd.
2018-07-31 15:24:33 -07:00
Dylan Dmitri Gray 748e992865
Dygray/handshake versioning (#2520)
* set minor versions on the protocols
2018-07-05 16:42:42 -07:00
Dylan Dmitri Gray e7e2ca50e9
Ping Cleanup (#2530)
Tidied up some comments, to make the ResetPing client behavior easier to understand.

Will ping in debug mode for consistency. If this becomes a problem when debugging, developers can disable the pings manually. It's easier to fix something noisy, than try to diagnose inconsistently missing behavior.
2018-06-25 17:09:05 -07:00
BrennanConroy 0306038658
Return empty string for connectionId in some cases (#2470) 2018-06-11 12:50:34 -07:00
Dylan Dmitri Gray 3d0f68b22c
server closes connections that have gone silent (#2364) 2018-06-05 15:21:55 -07:00
James Newton-King 4f85ca2b1d
Add connection ID scope to HubConnection (#2394) 2018-06-01 11:12:51 +12:00
Dylan Dmitri Gray f0f1df9b4a
PingInterval -> KeepAliveInterval (#2384) 2018-05-25 15:15:38 -07:00
James Newton-King 02a9bde10d
Fix flaky ClientPingsMultipleTimes test (#2368) 2018-05-24 17:29:15 +12:00
Dylan Dmitri Gray 736b7f5042
Client pings server on interval (#2309) 2018-05-23 13:53:23 -07:00
BrennanConroy 32cee74a0c
Generate baselines and enable Api check (#2304) 2018-05-17 15:21:13 -07:00
Mikael Mengistu 283297f455
Remove handlers from HubConnection (#2267) 2018-05-15 23:57:02 -07:00
James Newton-King 43aa392dff
Add state to TS HubConnection (#2268) 2018-05-16 08:43:08 +12:00
James Newton-King 7625bbcb6c
Add HubConnection.State (#2204) 2018-05-14 19:23:00 +12:00
BrennanConroy 4b1fb58a8a
Throw error on unexpected close (#2205) 2018-05-10 16:38:21 -07:00
BrennanConroy 8c7f33a6d7
Port C# client perf fix to release (#2189) 2018-05-02 21:53:39 -07:00
James Newton-King 295801ac50
XML documentation (#2106) 2018-05-01 16:08:09 -07:00
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 d35bcea0a5
Move HubException and add serialization ctor (#2049) 2018-04-17 14:10:42 +12:00
Andrew Stanton-Nurse c05c5a6b2a
React to aspnet/KestrelHttpServer#2496: make IConnectionInherentKeepAliveFeature a boolean feature (#2041) 2018-04-16 11:34:12 -07:00
David Fowler a5d9930802
API review changes (#2043)
- Make SerializedHubMessage and SerializedMessage
public
- Made HubConnectionStore public
- Move SendUtils and Utils to the internal folder
- Make Microsoft.AspNetCore.Http.Connections.Common/Internal public.
- Move InvocationRequest to internal folder
2018-04-16 10:31:10 -07:00
James Newton-King e4d0f2980e
Microsoft.AspNetCore.SignalR.Client refactor (#2000) 2018-04-14 21:09:41 +12:00
David Fowler 3e69fdc4ad
Delegate disposable to the IConnectionFactory (#1999)
- Added DisposeAsync to the IConnectionFactory. It's responsible for disposing the connection after the pipe has closed.
- Added dispose callback to WithConnectionFactory
- Don't wait for poll request to end before unwinding from the transport
- Make sure all http requests are done before returning from StopAsync in both SSE and longpolling
2018-04-13 09:16:23 -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
Mikael Mengistu df4d901ae7
Fix 5 param On extension method (#1984) 2018-04-13 00:37:13 +00:00
Mikael Mengistu b8c3273cae
Dont always copy handlers (#1945) 2018-04-11 22:19:51 +00:00
David Fowler cb5bba36fc
Get off the event loop before dispatch (#1952) 2018-04-11 10:39:09 -07:00
James Newton-King c83baf2b76
Remove params from message ctors (#1931) 2018-04-11 12:11:13 +12:00
James Newton-King 6bc2ebb4c5
Use invariant culture and ordinal comparisons (#1928) 2018-04-10 16:52:19 +12:00
Ben Adams 406d8f9a81 readonly readonly structs (#1908) 2018-04-08 23:28:37 -07:00
James Newton-King 27d18578d0
Use expression body properties and implicit arrays where possible (#1906) 2018-04-08 21:40:01 +12:00
David Fowler c1049b722d
The grand unification of ConnectionContext (#1895)
This change rationalizes the 2 very similar abstractions that exist in Connections.Abstractions, IConnection and ConnectionContext. It also introduces an IConnectionFactory to SignalR that is used to create a new ConnectionContext for a HubConnection.

- HubConnection just completes both ends of the transport pipe instead of calling DisposeAsync.
- Implemented ConnectionContext on HttpConnection and added HttpConnectionFactory
-  Updated tests
2018-04-07 16:19:01 -07:00
David Fowler 86083c0302
Removing native support for IObservable<T> (#1890)
- There are too many issues and questions with respect to back pressure and the buffering policy we should use when the client being streamed to can't support the data being pushed via OnNext.
As a result, we're dropping support for IObservable but keeping ChannelReader and we'll eventually support IAsyncEnumerable when that makes it into the BCL.
- Add sample showing Observable -> ChannelReader adaption
2018-04-07 15:10:39 -07:00
David Fowler 11343ea15d
Add logging by default to HubConnectionBuilder (#1867)
- Use the AddLogging extension method by default in the HubConnection
- Removed WithConsoleLogger extension methods
- Removed WithLoggerFactory extension method (moved to test only)
- Added WithLogger that uses the new the new ILoggerBuilder
2018-04-05 10:05:07 -07:00
David Fowler 61c3d0c403
Added Microsoft.AspNetCore.SignalR.Protocols.Json (#1861)
- Fixed package descriptions
- Call AddJsonProtocol from both the SignalR.Core (client and server)
2018-04-05 01:32:10 -07:00
BrennanConroy 80f87e7730
Add Handshake timeout to C# Client (#1840) 2018-04-04 15:54:42 -07:00
James Newton-King e7b84b753b
Refactor HubConnectionBuilder (#1830) 2018-04-04 21:19:13 +12:00
BrennanConroy 221c95e0af Couple logging additions (#1827)
- Added logging in a couple more places in HubConnection
- Increase DEFAULT_TIMEOUT_INTERVAL to 20 seconds
2018-04-02 19:25:47 -07:00
BrennanConroy 903a9ea6a0
Use IBufferWriter in IHubProtocol (#1791) 2018-03-30 17:30:08 -07:00
Andrew Stanton-Nurse 6b3a27e73c
Bedrock Renames (#1777) 2018-03-30 15:09:19 -07:00
BrennanConroy 46f27cdd0b
Fix internal HubConnection state when handshake fails (#1774) 2018-03-29 16:35:31 -07:00
David Fowler 7a53e07623
Parse data as it comes in off the wire in the .NET client and server (#1766)
- Change websockets and the POST end point to send data unbuffered.
- Update tests to handle partial frames
2018-03-29 10:03:59 -07:00
James Newton-King cddf46c0cd
Make HubConnection write messages directly to the PipeWriter (#1762) 2018-03-29 20:26:09 +13: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 19b9dca268
Change IHubProtocol interface to support partial parsing (#1745)
- These are the finishing touches before we disable batching on the
C# client and on the server. We're changing the IHubProtocol interface to
modify the input buffer with what was consumed. We're also changing it
to parse a single message at a time to be match what output writing does.
- Added TryParseResponseMessage and made it look like TryParseRequestMessage
2018-03-28 12:08:16 -07:00
Andrew Stanton-Nurse cfaa123eb8 IConnection refactoring (#1718)
- IConnection is now single-use and HubConnection creates a new instance
for reconnecting
- IConnection is just a Pipe now, no more events
2018-03-27 23:02:07 -07:00