Commit Graph

88 Commits

Author SHA1 Message Date
Nate McMaster af5e7da478 Remove workarounds and unify dependency versions 2017-02-23 17:09:07 -08:00
Andrew Stanton-Nurse 667095661b convert the samples to use the official client (#234) 2017-02-23 10:56:20 -08:00
Andrew Stanton-Nurse 08c550655a use new Base64 codec in Text and SSE Formatters (#231)
fix #192
2017-02-22 16:26:58 -08:00
Andrew Stanton-Nurse 9767dbd5c1 fix #209 by converting to byte[] (#229)
* fix #209 by converting to byte[]
2017-02-22 11:50:37 -08:00
Andrew Stanton-Nurse 701612c859 fix #204 by implementing SSE formatter (#210) 2017-02-22 09:30:31 -08:00
Pawel Kadluczka 763d115b08 Re-enabling building for net46 after System.Memory packages were fixed (#228) 2017-02-22 09:04:09 -08:00
Andrew Stanton-Nurse f84362cc76 one last try to get this test de-flaked (#227) 2017-02-21 16:15:32 -08:00
Andrew Stanton-Nurse 755ba7613e Fix #215 and restore tests (#218)
* fix #215 by properly handling pipe closure

* pr feedback

* pr feedback
2017-02-21 15:27:52 -08:00
moozzyk 9709139a27 Fixing a bug where pending invocations were not terminated correctly 2017-02-21 14:07:51 -08:00
moozzyk 12c6a4b917 Adding IConnection interface 2017-02-21 14:07:50 -08:00
moozzyk 7a4746868a Removing Dispose from Transport, Connection and HubConnection
Converting StopAsync to DisposeAsync
2017-02-21 13:36:54 -08:00
moozzyk 76bd114a2f Preventing from building ts client multiple times 2017-02-21 11:54:39 -08:00
moozzyk cc7f835e1d Creating npm package for ts client 2017-02-21 11:37:13 -08:00
BrennanConroy 6f33ebc1f5 ObjectMethodExecutor 2017-02-17 10:19:32 -08:00
Nate McMaster 7e8f92b418 Remove makefile.shade and add npm install to repo.targets
Also, add (commented-out) conditional cross compiling for tests on xplat
2017-02-17 10:07:09 -08:00
moozzyk 607445fc2b Workaround for broken System.Memory package 2017-02-16 12:41:09 -08:00
moozzyk ce4a8f0276 Disabling tests broken by new pipelines 2017-02-16 12:40:23 -08:00
Nate McMaster ef99d7c233
React to aspnet/Korebuild#160 2017-02-16 10:10:08 -08:00
Nate McMaster f684fcb574 Downgrade to stable packages 2017-02-15 14:23:11 -08:00
Andrew Stanton-Nurse 2a5c4320d2 increase retry count in autobahn tests 2017-02-15 14:15:47 -08:00
moozzyk a3e847e6cc De-statificying HubConnection
Wiring and raising events correctly
2017-02-15 12:15:35 -08:00
moozzyk d4fbdd055a Raising Received event 2017-02-15 12:15:35 -08:00
moozzyk 4f6306f352 Adding rasing Connected and Closed events 2017-02-15 12:15:35 -08:00
moozzyk 966470d269 Adding connection state 2017-02-15 12:15:34 -08:00
moozzyk 3ba95b98af Converting static ConnectAsync to instance StartAsync 2017-02-15 12:15:34 -08:00
Andrew Stanton-Nurse 70d97dd7b8 finish binary protocol formatter/parser (#203) 2017-02-15 12:11:52 -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
Andrew Stanton-Nurse b711128ec2 update MSBuild settings to make samples runnable (#180) 2017-02-07 09:39:21 -08:00
Nate McMaster 7281bf90c0 Upgrade to VS 2017 (#176) 2017-02-02 12:54:23 -08:00
BrennanConroy 72e7b54dff Add TestClient to simplify test code 2017-02-01 15:53:44 -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
David Fowler eafbe74160 Fixed parameter count mismatch when invoking methods with wrong case (#162)
* Fixed parameter count mismatch when invoking methods with wrong case
- Hub methods were being tracked with 2 dictionaries, one for parameter names
the other for callbacks. This change introduces a single dictionary that stores
the hub name to a HubMethodDescriptor. That descriptor stores the parameter types
and method info for the bound hub method.
- The callback is now just an invoke method on the HubEndPoint itself.
- Added tests for case sensitivity in hub method names
2017-01-26 18:25:49 +00:00
moozzyk c997ea8165 Converting pipelines to channels 2017-01-26 08:04:58 -08:00
David Fowler 162cd1fc06 Handle misbehaving user code (#159)
* Handle misbehaving user code
- Execute EndPoint logic on a threadpool thread
- Turn synchronous exceptions into async ones to unify the
error handling
- Added tests
2017-01-25 23:45:43 +00:00
David Fowler 934f6a70d1 Various fixes in HttpConnectionDispatcher (#151)
- The connection state object is manipulated by multiple parties in a non thread safe way. This change introduces a semaphore that should be used by anyone updating or reading the connection state. 
- Handle cases where there's an active request for a connection id and another incoming request for the same connection id, sse and websockets 409 and long polling kicks out the previous connection (https://github.com/aspnet/SignalR/issues/27 and https://github.com/aspnet/SignalR/issues/4)
- Handle requests being processed for disposed connections. There was a race where the background thread could remove and clean up the connection while it was about to be processed.
- Synchronize between the background scanning thread and the request threads when updating the connection state.
- Added `DisposeAndRemoveAsync` to the connection manager that handles`DisposeAsync` throwing and properly removes connections from connection tracking.
- Added Start to ConnectionManager so that testing is easier (background timer doesn't kick in unless start is called).
- Added RequestId to connection state for easier debugging and correlation (can easily see which request is currently processing the logical connection).
- Added tests
2017-01-25 22:27:55 +00:00
moozzyk 3ad8efb4ab Fixing test after getid to negotiate rename 2017-01-25 09:32:26 -08:00
David Fowler 9eb42cce2d Clean up disposal of connection state (#148)
* Clean up disposal of connection state
- Removed IDisposable and added a DisposeAsync method to ConnectionState
- Added ApplicationTask and TransportTask to ConnectionState as first class
properties so that it is easy to see (in a process dump or debugger) the
outstanding tasks that Sockets is keeping track of on a per connection basis.
2017-01-25 00:08:08 +00:00
Pawel Kadluczka fb4a99ffff Fixing test hangs, adding timeouts. (#149) 2017-01-24 15:51:58 -08:00
BrennanConroy aec52670b4 React to Channel API changes 2017-01-19 08:15:59 -08:00
Mikael Mengistu b8b0c73222 Added Win7 and Win2008 skip for WebSockets testing 2017-01-18 16:15:12 -08:00
Pawel Kadluczka ac8a6c9f67 Adding infrastructure to write node (a.k.a. unit) tests for ts client (#129) 2017-01-18 13:25:23 -08:00
Andrew Stanton-Nurse 464077866c rename getid to negotiate (#124)
* rename getid to negotiate
* also change SSE and Long Polling to require a pre-established connection
* disallow changing transports mid-connection; return a 400 response if the user attempts to do so
2017-01-17 15:45:29 -08:00
Mikael Mengistu 3bba46d4d3 More WebSockets testing (#100) 2017-01-12 15:59:53 -08:00
Andrew Stanton-Nurse 20d8f1fca2 fix autobahn test app to be an app (#114)
* fix autobahn test app to be an app
* remove net46 version of autobahn conformance test, the autobahn suite doesn't need to be run twice...
* add appveyor and travis support for autobahn
2017-01-11 16:36:48 -08:00
Mikael Mengistu 5d374b7dbe Remove delays in HubConnectionTests 2017-01-11 10:10:38 -08:00
David Fowler cd9ed9228a Remove streaming transport as a top level API (#110)
- Remove Streaming* classes from Sockets. The main
API will be channels based and streaming transports
will use the PipelineChannel (formerly FramingChannel) to
access messages.
- Added WriteAsync and ReadAsync to Connection and hid
the IChannelConnection from public API.
- Also fixed the fact that unknown methods caused server side
exceptions.
- Changed the consumption pattern to WaitToReadAsync/TryRead to avoid
exceptions.
- React to API changes
2017-01-11 04:01:49 -08:00