Commit Graph

127 Commits

Author SHA1 Message Date
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
Mikael Mengistu 648705f648
Create a Public Test Suite for HubLifetimeManager implementations (#2353) 2018-06-06 16:59:55 -07:00
BrennanConroy 32cee74a0c
Generate baselines and enable Api check (#2304) 2018-05-17 15:21:13 -07:00
BrennanConroy f09b0e13d9
Upgrade to netcoreapp2.2 and remove netcoreapp2.0 testing (#2221) 2018-05-09 09:59:02 -07:00
James Newton-King 295801ac50
XML documentation (#2106) 2018-05-01 16:08:09 -07:00
David Fowler 676bf179f3
Reduce redundant dependencies (#2091) 2018-04-19 00:18:52 -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
James Newton-King 6eac7049ba
Update text and binary formatter helpers to be shared (#2035) 2018-04-16 15:19:34 +12:00
James Newton-King 5a77c8be25
API review Microsoft.AspNetCore.SignalR.Internal (#2022) 2018-04-15 00:23:26 +12: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
David Fowler 4a568e90d2
API review changes (#1992)
- Changed GetMessageBytes to return ReadOnlyMemory
- Make HandshakeProtocol.SuccessHandshakeData a readonly field
2018-04-13 00:25:02 -07:00
James Newton-King c83baf2b76
Remove params from message ctors (#1931) 2018-04-11 12:11:13 +12:00
Ben Adams 8a3516284e Add GetMessageBytes to IHubProtocol (#1915) 2018-04-10 07:14:09 -07:00
David Fowler 9fd713c73a
Make MemoryBufferWriter a Stream (#1907)
- Get rid of LimitArrayPoolWriteStream and use MemoryBufferWriter in its place in the MessagePackProtocol implementation.
- Added tests for MemoryPoolBufferWriter and fixed a bug in CopyToAsync
- Added CopyTo(`IBufferWriter<byte>`)
- Changed MemoryBufferWriter to fill the underlying arrays that back segments, the segment size is now a minimum.
2018-04-08 16:11:17 -07: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 acc0b7ad0d
Serialize NegotiateResponse with IBufferWriter (#1881) 2018-04-07 15:50:13 +12:00
Andrew Stanton-Nurse 19b2fea0d8
Preserialize for all formats when sending through Redis (#1843) 2018-04-05 13:48:14 -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
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
James Newton-King 3460d44848
Fix non-serializable tests (#1820) 2018-04-03 09:31:52 +12:00
BrennanConroy 5ce672dfe6
ThreadStatic MemoryBufferWriter (#1821) 2018-04-02 11:25:04 -07:00
James Newton-King ca161e9bc8
Improve writing single characters with UTF8 text writer (#1814) 2018-04-01 17:34:19 +12:00
James Newton-King 04a22f23dd
Deserializing ISO formatted strings in method arguments (#1812) 2018-04-01 12:26:30 +12:00
BrennanConroy 90aa48c09f
Merge pull request #1798 from aspnet/release/2.1
Use IBufferWriter in IHubProtocol (#1791)
2018-03-30 17:30:30 -07:00
BrennanConroy 903a9ea6a0
Use IBufferWriter in IHubProtocol (#1791) 2018-03-30 17:30:08 -07:00
Andrew Stanton-Nurse a92b3a7288 Merge branch 'release/2.1' into dev 2018-03-30 15:26:44 -07:00
Andrew Stanton-Nurse 6b3a27e73c
Bedrock Renames (#1777) 2018-03-30 15:09:19 -07:00
James Newton-King a4dd4da7a2
Merge pull request #1760 from aspnet/release/2.1
Handshake and negotiation optimization (#1731)
2018-03-29 17:51:40 +13:00
James Newton-King 7f86b92f7e
Handshake and negotiation optimization (#1731) 2018-03-29 17:50:45 +13:00
James Newton-King 6de4ac2880
Merge pull request #1754 from aspnet/release/2.1
Message writing optimization (#1683)
2018-03-29 11:08:13 +13:00
James Newton-King 8c84518ecc
Message writing optimization (#1683) 2018-03-29 11:03:40 +13:00
David Fowler db3441cf93 Merged release/2.1 2018-03-28 14:10:45 -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
David Fowler 4c6c0aa8a4 Merge branch 'release/2.1' into dev 2018-03-27 23:12:00 -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 434147fe8e Merge branch 'release/2.1' into dev 2018-03-27 00:00:13 -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
unknown 678265259d Merge remote-tracking branch 'origin/release/2.1' into dev 2018-03-26 17:30:38 -07: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 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
Damir Ainullin dd9369ece8 Removed excessive null check because string.Join can't return null (#1716) 2018-03-25 10:13:07 -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
James Newton-King 4f10560087
Rename negotiate to handshake, add handshake response, add close frame (#1591) 2018-03-20 17:40:22 +13:00
David Fowler d4d5a08bc2
The payload property was never used (#1641) 2018-03-18 22:34:02 -07:00
David Fowler 7df5c87815 Add copyright headers to new files 2018-03-18 15:39:20 -07:00
David Fowler b792fcb4ef
Reduce the per message read allocations (#1635)
- Introduced Utf8BufferTextReader that writes buffers directly into
the char[] allocated by JSON.NET when reading via the JsonReader.
- Use IArrayPool implementation over ArrayPool<char> when reading
incomming messages.
- Replaced JToken parsing with manual parsing using JsonTextReader.
- Added tests for parsing incoming JSON messages with out of order
properties.
- Make access to message headers lazy
- Changed IHubProtocol.TryParseMessage to be ReadOnlyMemory<byte> instead of ReadOnlySpan<byte>
2018-03-18 15:16:03 -07:00