James Newton-King
585bcc3ee0
How about this?
2018-04-15 19:02:56 +12:00
James Newton-King
89922a399f
Capture server logs in tests
2018-04-15 14:43:56 +12:00
James Newton-King
ddc905c219
Add VerifyNoErrorsScope ( #1972 )
2018-04-15 11:12:21 +12:00
James Newton-King
377ed1b834
JsonHubProtocol and MessagePackHubProtocol version fields now private ( #2023 )
2018-04-15 09:58:05 +12:00
James Newton-King
e4d0f2980e
Microsoft.AspNetCore.SignalR.Client refactor ( #2000 )
2018-04-14 21:09:41 +12:00
Andrew Stanton-Nurse
43e6ab750a
Fix #1927 by using Synchronous Callbacks everywhere. ( #2003 )
2018-04-13 11:38:03 -07: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
James Newton-King
198013bfa3
Microsoft.AspNetCore.Http.Connections.Client refactors ( #1995 )
2018-04-13 20:13:58 +12:00
Ahson Khan
0ee4a86564
Collapse AsSpan().Slice(..) into AsSpan(..) ( #1991 )
2018-04-12 23:15:47 -07:00
Mikael Mengistu
0053124ca4
Make Proxies Internal ( #1982 )
2018-04-13 00:38:16 +00:00
David Fowler
8b1a7e9199
API review feedback ( #1974 )
...
- Remove SetHttpContext
- Remove HttpContextFeature
- Add and implement IHttpTransportFeature on HttpConnectionContext
- Remove ConnectionMetadataNames
2018-04-12 03:50:14 -07:00
James Newton-King
12b69a0fdb
Refactor HttpOptions in client ( #1942 )
...
- Rename HttpOptions to HttpConfigurationOptions
- Remove HttpConfigurationOptions from SignalR client project
- Updated client HttpConnection ctors
2018-04-11 20:20:04 +12:00
Mikael Mengistu
83821a028d
Rename HubEndPointTestUtils folder ( #1943 )
2018-04-11 04:05:28 +00:00
James Newton-King
c83baf2b76
Remove params from message ctors ( #1931 )
2018-04-11 12:11:13 +12:00
BrennanConroy
6d050140e5
Swtich to MessagePack-CSharp ( #1879 )
2018-04-09 17:04:32 -07:00
James Newton-King
bd78785f8d
Minor DefaultHubLifetimeManager improvements ( #1904 )
2018-04-09 12:31:14 +12:00
James Newton-King
27d18578d0
Use expression body properties and implicit arrays where possible ( #1906 )
2018-04-08 21:40:01 +12:00
James Newton-King
0f663cadc4
readonly all the things ( #1901 )
2018-04-08 15:47:01 +12:00
David Fowler
e3da7feab4
Clean up client ITransport interface ( #1893 )
...
- Transports own the pipe creation. The fact they are 2 sides is an implementation detail.
2018-04-07 15:11:42 -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
Mikael Mengistu
4ddf8664c0
Don't throw from Observer's OnNext ( #1872 )
2018-04-06 00:35:04 -07:00
James Newton-King
cb5ece8a24
HttpTransportType refactor ( #1873 )
...
- Rename file to HttpTransportType.cs
- Add HttpTransportType.None
- Move All to static readonly field
- Make TransportType on client and service HttpConnectionOptions consistent
- Move setting defaults into ctor
2018-04-06 16:18:47 +12:00
James Newton-King
e9db9e64c7
Add streaming benchmarks ( #1854 )
2018-04-05 20:27:37 +12:00
James Newton-King
f7fc2647de
var all the things ( #1855 )
2018-04-05 18:41:13 +12:00
BrennanConroy
32b4d5cc6c
Set X-Requested-With on all requests ( #1848 )
2018-04-04 17:12:50 -07:00
James Newton-King
e7b84b753b
Refactor HubConnectionBuilder ( #1830 )
2018-04-04 21:19:13 +12:00
Mikael Mengistu
ba0131a731
Rename TransportTypes to HttpTransportTypes ( #1839 )
2018-04-03 16:00:20 -07:00
James Newton-King
3460d44848
Fix non-serializable tests ( #1820 )
2018-04-03 09:31:52 +12:00
BrennanConroy
6640f14e35
Detailed errors enabled for functional tests ( #1822 )
2018-04-02 10:42:26 -07:00
Andrew Stanton-Nurse
6b3a27e73c
Bedrock Renames ( #1777 )
2018-03-30 15:09:19 -07:00
James Newton-King
0362905a70
Re-enable ConnectionCanSendAndReceiveMessages + logging ( #1778 )
2018-03-31 08:45:33 +13:00
Mikael Mengistu
313133131f
Check for Websockets in Fallback functional tests ( #1772 )
2018-03-30 12:33:42 -07:00
BrennanConroy
44b667b3e6
Add detailed error option ( #1763 )
2018-03-30 11:30:07 -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
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
David Fowler
185453908f
Remove HubConnectionContext parameter from IHubProtocolResolver ( #1735 )
2018-03-27 10:25:00 -07:00
David Fowler
7a9160f3e0
React to https://github.com/aspnet/KestrelHttpServer/pull/2428 ( #1734 )
2018-03-27 02:02:29 -07:00
James Newton-King
4f5bc7046e
Add conditional test attribute for WebSockets ( #1709 )
2018-03-25 18:53:49 +13:00
David Fowler
cb05ce4e0b
Progress towards deleting Sockets.Abstractions ( #1705 )
...
* Progress towards deleting Sockets.Abstractions
- Moved our custom DefaultConnectionContext to Sockets.Http and renamed it to HttpConnectionContext.
- Renamed ConnectionManager to HttpConnectionManager
- Use DefaultConnection in tests and benchmarks
- Delete ConnectionMetadata
2018-03-24 04:21:47 -07:00
David Fowler
2e63e5afe3
The rename games part 1 of many ( #1696 )
...
- React to rename of EndPoint to ConnectionHandler
- Rename UseSockets to UseConnections
- Rename MapEndPoint to MapConnectionHandler
- Rename HttpSocketOptions to HttpConnectionOptions
2018-03-22 22:35:55 -07:00
BrennanConroy
a47e1051e8
Add protocol version to handshake ( #1666 )
2018-03-22 15:54:35 -07:00
David Fowler
f1a3775247
Copy HttpContext properties for long polling transport ( #1684 )
...
- The long polling transport simulates a persistent connection
over multiple http requests. In order to expose common http request
properties, we need to copy them to a fake http context on the first poll
and set that as the HttpContext exposed via the IHttpContextFeature.
2018-03-22 15:24:35 -07:00
David Fowler
6053a34cf3
Don't expose HubConnectionContext on the Hub ( #1674 )
...
- Made HubCallerContext an abstract class
- Made DefaultHubCallerContext that gets data from the HubConnectionContext.
- Removed IP address
- Removed Connection property
2018-03-21 10:07:41 -07: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
David Fowler
885679c8bd
Made HubEndPoint derive from EndPoint ( #1658 )
...
* Made HubEndPoint derive from EndPoint
2018-03-20 08:31:35 -07:00
James Newton-King
4f10560087
Rename negotiate to handshake, add handshake response, add close frame ( #1591 )
2018-03-20 17:40:22 +13:00
BrennanConroy
db0dc0f960
Ignore writeasync failures when sending to multiple connections ( #1589 )
2018-03-16 16:48:05 -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
David Fowler
d27844dfef
ConnectionMetadata is now ConnectionItems ( #1604 )
...
* ConnectionMetadata is now ConnectionItems
2018-03-14 20:57:40 -07:00
David Fowler
6a8ede0770
Further making Microsoft.AspNetCore.Sockets "not a thing" ( #1599 )
...
- This PR attempts to move things where they are needed instead of where they
happened to be used. As a result we should now have Sockets.Abstractions and
Sockets down to the minimal set of things required to make them run.
Sockets.Abstractions should go away in favor of Protocol.Abstractions and
Sockets contains the EndPoint abstraction and related types.
- Moved ConnectionManager and friends to
Sockets.Http.
-Removed Sockets and moved everything into Sockets.Abstractions.
- Moved DefaultConnection and put it in Sockets.Abstractions.
2018-03-14 15:37:24 -07:00
David Fowler
dc0567690d
Use features from Protocol.Abstractions ( #1594 )
...
- This is part of the grand unification of the connection layer between SignalR and Kestrel
2018-03-14 08:17:07 -07:00
Andrew Stanton-Nurse
fb6121399c
Remove support for binary over SSE and add transfer format to negotiation ( #1564 )
2018-03-13 14:29:32 -07:00
James Newton-King
d816c6ef60
Add additional properties to HttpOptions ( #1557 )
2018-03-13 09:46:34 +13:00
Mikael Mengistu
0b81658850
Add SignalR Marker Service ( #1573 )
2018-03-10 00:58:57 +00:00
James Newton-King
d6178f2482
Fixed streaming hub method with ValueTask ( #1572 )
2018-03-10 12:31:38 +13:00
Mikael Mengistu
99aa25e4d8
Add Missing File Header ( #1560 )
2018-03-08 19:49:32 +00:00
Mikael Mengistu
adbd964efd
Transport Fallback ( #1455 )
2018-03-08 06:49:03 +00:00
James Newton-King
a41bf6228f
Client sends user agent with version based on assembly version ( #1551 )
2018-03-08 10:25:12 +13:00
James Newton-King
1c44e8febf
Fix streaming hub methods combined with async ( #1544 )
2018-03-07 20:07:06 +13:00
Mikael Mengistu
1b9313287b
Restrict HubProtocol on Server + HubOptions<THub> ( #1492 )
2018-03-07 01:31:56 +00:00
James Newton-King
846432c9ac
Improve unexpected server error message to client ( #1532 )
...
* Improve unexpected server error message to client
* Separated expected vs unexpected errors in error message. Fixed broken tests
* Fix ts functional tests
2018-03-06 22:11:46 +13:00
Pavel Krymets
8908eec6e7
Pipelines in corefx ( #1501 )
2018-02-28 12:42:01 -08:00
BrennanConroy
1790d6bdf0
Serialize once per format to increase perf in broadcasting scenarios ( #1498 )
2018-02-27 14:55:00 -08:00
Ryan Brandenburg
f7da0edcb2
Skip ConnectionCanSendAndReceiveMessages
2018-02-23 11:45:24 -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
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
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
94155b0e89
Use protocol.abstractions primitives instead of socket abstractions ( #1432 )
2018-02-10 18:10:09 -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
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
Andrew Stanton-Nurse
a0c47c0c66
Increase ServerFixture startup timeout ( #1409 )
2018-02-06 08:41:16 -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
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
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
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
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
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
3005337a9c
fix #625 by implementing HubMethodNameAttribute ( #1173 )
2017-12-01 09:48:26 -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
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