Commit Graph

31 Commits

Author SHA1 Message Date
BrennanConroy 8277b2cc27 Enable skipped test (#551) 2017-06-12 11:37:11 -07:00
David Fowler 12917ef0e9 Re-layer the .NET Client into Http and non-Http (#544)
* Re-layer the .NET Client into Http and non-Http
- Moved IConnection to Sockets.Abstractions and removed
HttpConnection and TransportType dependency.
- Renamed Sockets.Client to Sockets.Client.Http
- Renamed Sockets.Common to Sockets.Common.Http
- Renamed Connection to HttpConnection
- Removed HTTP dependency from HubConnection
- Removed tests that were testing connection logic in HubConnection

#518
2017-06-09 08:58:54 -10:00
Pavel Krymets c845b07b56 Merge remote-tracking branch 'origin/rel/2.0.0-preview2' into dev 2017-06-07 14:29:28 -07:00
Ryan Brandenburg 9d584a6358 Skip flaky test 2017-06-06 19:33:46 +00: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 e31fc1e57d Closing transports with error if hubs cannot be created
- Preventing from closing long polling transport with 204 in case of
error
- Reporting an error to the client if WebSocket was not closed normally

Note in case of ServerSentEvents it is not possible on the client to
tell the difference between when the server closed event stream due to
an exception or because the client left OnConnectedAsync. In both cases
the client sees only that the stream was closed.

Part of: #163
2017-05-31 16:29:28 -07: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
David Fowler e68a1b294f Fix long polling graceful shutdown (#476)
- If a message was sent and the application was ended in the same
poll request, the connection would be closed by the time the next poll
came in which resulted in a 404. This change waits until the transport writes
all data before closing it.
- Also fixed a test so that the exception started to show client side.

#469
2017-05-22 09:07:26 -07:00
David Fowler 240a88f7af Make the http end points more resty (#470)
- Use HTTP verbs to describe functionality for endpoints
- Updated TransportProtocols.md
2017-05-19 23:37:17 -07:00
Mikael Mengistu 04863032a2 Increase the size of the WebSockets buffer to 4K. (#448) 2017-05-15 13:14:45 -04:00
Andrew Stanton-Nurse 5aea7292cd prevent websocket deadlock (#419) 2017-04-25 15:18:47 -07:00
Andrew Stanton-Nurse 1018a20c61 more logging (#417) 2017-04-24 12:38:39 -07:00
Mikael Mengistu 8c8f6c708b Server-Sent Events Transport + Parser (#401) 2017-04-18 16:08:48 -07:00
moozzyk 04719dee82 Adding transport factory 2017-04-11 09:16:36 -07:00
BrennanConroy f6f0007c12 React to CoreFx byte[] slice 2017-04-03 11:45:00 -07:00
moozzyk fb512bbf41 Using common XUnitLoggerProvider
Fixes #331
2017-03-27 16:19:40 -07:00
Andrew Stanton-Nurse 1732ac5760 add support for binary format in /poll (#303) 2017-03-16 11:06:26 -07:00
moozzyk 4bacbfeb05 Enabling Debug logging in a flaky test 2017-03-14 08:49:57 -07:00
Pawel Kadluczka a2d088bc3c Increasing the timeout of host start (#279)
* Increasing the timeout of host start

* Increasing log level
2017-03-09 16:58:46 -08:00
Mikael Mengistu f374d92712 WebSockets transport now creates correct url (#268) 2017-03-07 11:03:41 -08:00
moozzyk 7a4746868a Removing Dispose from Transport, Connection and HubConnection
Converting StopAsync to DisposeAsync
2017-02-21 13:36:54 -08:00
moozzyk d4fbdd055a Raising Received event 2017-02-15 12:15:35 -08:00
moozzyk 3ba95b98af Converting static ConnectAsync to instance StartAsync 2017-02-15 12:15:34 -08:00
moozzyk 94dc265658 Fixing build after merge 2017-02-15 09:49:39 -08:00
Mikael Mengistu cb7692d16e WebSockets Transport (#185)
WebSockets transport
2017-02-15 09:24:41 -08:00
Andrew Stanton-Nurse a728e1da41 Text Protocol Formatter (#187) 2017-02-14 16:00:51 -08:00
Pawel Kadluczka 82cbda4a9a Making `OrTimeout` common (#193)
Making `OrTimeout` common
2017-02-13 12:38:34 -08:00
Pawel Kadluczka 0c8df245de Hiding Channels (#183)
Hiding Channels
2017-02-09 10:31:07 -08:00
Mikael Mengistu 5def499323 Added Sockets.Common and connection level testing (#173)
*Moved IChannelConnection, ChannelConnection, Format and Message to the new Sockets.Common project.

* Adding Connection level tests.
2017-01-31 14:59:21 -08:00
Mikael Mengistu b8b0c73222 Added Win7 and Win2008 skip for WebSockets testing 2017-01-18 16:15:12 -08:00
Mikael Mengistu 3bba46d4d3 More WebSockets testing (#100) 2017-01-12 15:59:53 -08:00