Commit Graph

1055 Commits

Author SHA1 Message Date
Mikael Mengistu eb2fa9bacd
Fix more flaky tests (#1750) 2018-03-28 15:27:40 -07:00
James Newton-King 8c84518ecc
Message writing optimization (#1683) 2018-03-29 11:03:40 +13:00
Mikael Mengistu 890c8566d6
Fix WebSocketsSupportedConditionAttribute version check (#1751) 2018-03-28 14:56:03 -07: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
Nate McMaster (automated) 7a428534c3
Update dependencies.props
[auto-updated: dependencies]
2018-03-28 11:04:33 -07:00
Mikael Mengistu c631b87c6d
Check for Websockets to fix flaky tests (#1740) 2018-03-28 00:49:37 -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
Mikael Mengistu 5b85e8309e
Adding File Header (#1741) 2018-03-27 21:54:11 -07:00
David Fowler 5cb9b887d4 Upgraded deps 2018-03-27 19:18:50 -07:00
Mikael Mengistu 3952eacfaa
Add ability to remove all handlers with just the method name (#1729) 2018-03-27 14:06:56 -07:00
David Fowler bc91191876
More benchmark command fixes 2018-03-27 13:26:55 -07:00
David Fowler df317cffca
Fixing benchmarks 2018-03-27 13:17:22 -07:00
David Fowler 185453908f
Remove HubConnectionContext parameter from IHubProtocolResolver (#1735) 2018-03-27 10:25:00 -07:00
BrennanConroy b7e2678592
Add new SignalR scenarios (#1730) 2018-03-27 10:14:08 -07:00
David Fowler 7a9160f3e0
React to https://github.com/aspnet/KestrelHttpServer/pull/2428 (#1734) 2018-03-27 02:02:29 -07:00
David Fowler b78e70fadb
Use more pooled Utf8BufferTextReaders (#1728)
- Use it in the HandshakeProtocol
- Move CreateJsonTextReader to JsonUtils
2018-03-26 23:32:43 -07:00
Mikael Mengistu cc52beec17
Fallback for TS client 2018-03-27 00:18:36 +00:00
James Newton-King 79b51ad642
Added logging of .NET client HTTP requests (#1723) 2018-03-27 12:57:13 +13:00
David Fowler b8285b8356
Don't create the span on netstandard (#1721)
- Directly pin the char[]
- Changed Utf8BufferTextReader to use the Utf8Decoder
- It copies whatever it can into the char buffer allocated in a stateful way (it's more efficient).
- Added tests for unicode and ascii reading
- Added a thread static cache
2018-03-26 14:36:08 -07:00
David Fowler ddc0e4fb3a
Run benchmarks on .NET Core 2.1 (#1722)
- Spoiler alert, it's much faster for the ones I ran at least
2018-03-25 21:07:17 -07:00
David Fowler 65204ec6f2
Small changes (#1714)
- Don't allocate for empty arrays.
- Don't allocate the list of pre-serialized messages until writing
2018-03-25 12:38:51 -07:00
David Fowler 733a3b3c2d
Upgrade the dependencies (#1712) 2018-03-25 00:51:53 -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
Andrew Stanton-Nurse a9667c3fbd
issue template (#1701) 2018-03-23 12:29:09 -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
James Newton-King d367bdc9aa
Remove message content from JS client logging (#1694) 2018-03-23 17:24:51 +13:00
BrennanConroy a47e1051e8
Add protocol version to handshake (#1666) 2018-03-22 15:54:35 -07:00
BrennanConroy 6d642ea5ce
Move Typescript client folder (#1692) 2018-03-22 15:47:08 -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
Mikael Mengistu b5c46f35b3
Check for actual start in SSE (#1681) 2018-03-22 19:03:48 +00:00
David Fowler b111c91cb0
Don't copy the array for incoming msgpack reads (#1686)
* Don't copy the array for incoming msgpack reads
- Don't use ToArray on the already sliced msgpack data.
- Turns out msgpack is self describing enough to not require the count, it just needs the buffer and start offset.
2018-03-22 08:47:06 -07:00
James Newton-King 3f84eee116
Detect availability of web sockets on client and server (#1682) 2018-03-22 12:35:31 +13:00
Andrew Stanton-Nurse 71c2ddd155
Fix #1575 by removing use of Map (#1671) 2018-03-21 10:11:18 -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
BrennanConroy e889175c0e
Properly wait for process exit for docker helper and log errors (#1667) 2018-03-21 09:21:33 -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
Andrew Stanton-Nurse a2764109b0
clean up test output (#1656) 2018-03-20 17:23:34 -07:00
BrennanConroy 24f07ce791
Fix LongPolling retry after poll timeout (#1654) 2018-03-20 14:51:00 -07:00
Pranav K 88b1cff273 No-op signalr dotnet-ci builds 2018-03-20 12:06:25 -07:00
Pranav K 7606ae42d6 Revert "Remove dotnet-build scripts"
This reverts commit 9992e48c60.
2018-03-20 12:06:25 -07:00
David Fowler 885679c8bd
Made HubEndPoint derive from EndPoint (#1658)
* Made HubEndPoint derive from EndPoint
2018-03-20 08:31:35 -07:00
BrennanConroy b91499b2fc
Cleanup rogue timeout in TS client (#1653) 2018-03-19 22:01:52 -07:00
BrennanConroy 473e578efc
Fix CORS on TS Client (#1652) 2018-03-19 22:01:28 -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
Andrew Stanton-Nurse 71fd4ffd8a
fix #1542 by removing browser field (#1625) 2018-03-19 20:22:18 -07:00
Pranav K 9992e48c60
Remove dotnet-build scripts 2018-03-19 17:31:38 -07:00
Pranav K 85b12e9fa1
Enable dotnet-build bot 2018-03-19 12:31:55 -07:00
David Fowler cf7c8629ff
Use ActivatorUtlities.CreateFactory instead of CreateInstance (#1643)
* Use ActivatorUtlities.CreateFactory instead of CreateInstance
- Turns out CreateFactory is much much faster
- Added a benchmark for hub activation
2018-03-19 00:19:54 -07:00
David Fowler d4d5a08bc2
The payload property was never used (#1641) 2018-03-18 22:34:02 -07:00