Commit Graph

16 Commits

Author SHA1 Message Date
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
BrennanConroy a449345436
Clean up logging (#1308) 2018-01-22 09:37: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 c1d2024864
Implement #1156 by having the server send Ping messages (#1161) 2017-12-04 14:43:27 -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
BrennanConroy 792745ad98 React to CoreFxLab packages (#998) 2017-11-13 15:05:35 -08:00
BrennanConroy 5c6fb642a0 Fix flaky WebSocket test (#745) 2017-08-22 10:48:30 -07:00
BrennanConroy a4053acd06 Give Client a chance to receive Close Frame from Server (#730) 2017-08-18 09:56:40 -07:00
Pawel Kadluczka 3a1d4c5dd6 Introducing HubProtocolReaderWriter 2017-08-08 12:11:55 -07:00
Pawel Kadluczka 0ebd33a25c Plumbing TransferMode on the client side 2017-07-14 10:45:28 -07:00
Pawel Kadluczka 2854e868ec Adding tests for SSE transport #413 2017-07-13 09:14:03 -07:00
BrennanConroy bcefbae00c Complete logging for Socket.* packages (#655) 2017-07-12 16:16:09 -07:00
BrennanConroy 0dd29b3050 Always close websocket on server (#567)
* refactor server websockets transport
2017-06-20 16:00:32 -07:00
Pawel Kadluczka 6576bb0ea4 Making the build pass after we took new packages 2017-06-14 15:32:20 -07:00
David Fowler 38efde7b50 Merge transport and hub protocols (#517)
* Merge transport and hub protocols
- This change merges the transport and hub protocols into a single protocol. The
idea being that sockets in a purely streaming layer that sends frames from the underlying
transport. This makes things like TCP possible and doesn't impose a framing layer at the lowest
level. This will make it possible to build servers like kestrel on top of the TCP layer.
- The Message was removed from the lowest layer of the stack and pushed into the hubs layer. Hub invocations
are framed with what was before the transport protocol. Connections also need to state upfront if they support
binary or not. This will determine how data will be serialized to the specific connection.
- Changed the SSE parser and writer to be strictly SSE without any of the transport protocol specific
information.
- To ensure we aren't using types in the wrong layers
- Moved protocol logic into SignalR
- Socket.Abstractions is now the root of the universe, Sockets.Common will likely be removed
or turned into Sockets.Common.Http.
- Move SSE parser to Sockets.Client and SSE writer into Sockets.Http
- Moved tests into the appropriate test projects
- Updated the spec
2017-06-05 09:45:40 -10:00
Pawel Kadluczka cb9f44ddf6 Fixing WebSocketsTransport to handle exceptions correctly
Exceptions thrown when sending or receiving messages would leave the
WebSockets transport in a half-closed state when one of the loops is
closed but the other one is still running preventing from the
Connection.Closed event to be fired.

Fixes: #412
2017-05-26 07:58:44 -07:00