Commit Graph

61 Commits

Author SHA1 Message Date
David Fowler 0e690d636f Remove casts where possible 2016-11-02 22:17:03 -07:00
David Fowler 7db1eb8f25 Add Async suffix to everything 2016-11-02 22:02:29 -07:00
David Fowler a175609bb1 Start transport before endpoint 2016-11-02 21:28:05 -07:00
David Fowler b6f15338eb Cleanup and shuffling things
- Moved the InvocationAdapterRegistry registration to SignalROptions
- Moved the JsonNetInvocationAdapter to Microsoft.AspNetCore.SignalR
- Remove dead JavaScript code
2016-11-02 20:54:58 -07:00
David Fowler 8dd61250f4 Fix the projects
- Fixed dependencies
- Fixed NS dependency
2016-11-02 18:50:57 -07:00
moozzyk 2bbca5e7fe Adding error handling
Fixing SSE transport on the server
2016-11-02 17:09:11 -07:00
moozzyk 61c527f23c Fixing LongPolling transport 2016-11-02 17:09:11 -07:00
moozzyk ce17f0d19a Adding transport selection
Fixing serverSentEvents transport
Updating the client 'app'
2016-11-02 17:09:11 -07:00
moozzyk 752f329036 WIP:
- separating Connection from RpcConnection
- fixing WebSockets transport to work after rewrite
- clean up
2016-11-02 17:09:11 -07:00
moozzyk 466c8d9db9 Adding ServerSentEvents 2016-11-02 17:09:11 -07:00
moozzyk 181053e876 Adding longpolling 2016-11-02 17:09:11 -07:00
moozzyk 29d859b383 WIP 2016-11-02 17:09:11 -07:00
Pawel Kadluczka 5663198733 WIP 2016-11-02 17:09:11 -07:00
moozzyk 6859d33536 ts-client WebSockets + JSON 2016-11-02 17:09:11 -07:00
moozzyk 5e3be6e212 Awaiting tasks returned from hubs and getting the actual result 2016-11-02 17:03:30 -07:00
Andrew Stanton-Nurse b2108a6d65 major updates to WebSockets implementation
* Ping/Pong handling
* UTF-8 validation
* Customization through WebSocketOptions
* Closes connection on Protocol Errors
* Autobahn Test Suite integrated
2016-11-02 11:27:56 -07:00
David Fowler 9e7513a7bd Added UseSignalR 2016-11-02 03:20:44 -07:00
David Fowler 6af6db67f4 More refactoring
- Moved the IHubConnectionContext implementation out of HubEndPoint
- Added IHubContext to allow getting at the publish side of things without
 being in side the hub. The HubEndPoint now injects this as well.
- HubContext has the implementation of the IHubConnectionContext
- Moved ISignalRBuilder and SignalRBuilder into their own files
2016-11-02 03:03:35 -07:00
David Fowler f41bcb9b2d Subscribe in parallel 2016-11-02 02:46:52 -07:00
David Fowler 377711f68c Changes to redis and groups
- Made group add and removal async as they may be backed by a network
connection
- Added ISignalRBuilder and a pattern similar to mvc for doing extension methods off
AddSignalR
- Added RedisOptions
2016-11-02 02:29:04 -07:00
David Fowler 40039afd4f Make a SignalR project and SignalR.Redis project
- Moved RPC into SignalR for now since we don't have a middle layer yet.
- Fixed up name spaces
2016-11-02 01:49:05 -07:00
David Fowler 53858495dc Hubs are more fleshed out (#11)
- `HubEndPoint<T>` : `RpcEndPoint<T>` where T is the Hub type. Optimizing for a single hub per connection here.
- Hubs get OnConnectedAsync and OnDisconnectedAsync methods that are invoked at the right time and with the right scope.
- Introduced HubLifetimeManager<THub> (naming TBD) which is the center of the universe for Hub behaviors.
2016-11-01 23:15:31 -07:00
moozzyk ffc0a048e3 Addressing review comments 2016-10-27 09:30:20 -07:00
moozzyk fd10deba6c Removing formatters 2016-10-27 09:30:19 -07:00
moozzyk a8c831bad6 Very hacky protobuff support 2016-10-27 09:30:06 -07:00
moozzyk fb387ed03d Decoupling formatters from endpoints
Moving formatters out from Sockets
2016-10-25 16:37:23 -07:00
moozzyk 8b905907fe Typed formatters 2016-10-25 16:37:22 -07:00
moozzyk f64c986b5d Adding support to non-Json hub invocation 2016-10-25 16:37:21 -07:00
Andrew Stanton-Nurse affcb935d7 clean-up and renaming
renamed WebSockets project to clarify it's internalityness
2016-10-17 15:27:23 -07:00
Andrew Stanton-Nurse d2dbd473a0 @davidfowl love dat Func<...,object,...>,object pattern 2016-10-14 15:09:06 -07:00
Andrew Stanton-Nurse a1c0970222 move prototype WebSockets-over-Channels code in
nothing is wired up to anything in Sockets yet, it's just a copy of the
code
2016-10-14 14:36:18 -07:00
David Fowler 8bd8887213 Don't call CompleteReader, the dispatcher can handle that 2016-10-09 15:07:30 -07:00
David Fowler 08bba972c1 React to channel API changes 2016-10-07 16:18:23 -07:00
David Fowler eef2f14c78 Flush even before we get end of message 2016-10-07 01:06:04 -07:00
moozzyk bbecb0c0dc Fixing SSE transport
Content-Encoding: identity disables all the transformations and therefore fixes the issue where IIS is buffering SSE data
2016-10-06 14:20:54 -07:00
David Fowler 3032909f3c Added tests 2016-10-04 01:32:30 -07:00
David Fowler e5e8d1bee3 Decouple the dispatcher from routing for easier testing 2016-10-04 00:12:07 -07:00
David Fowler 411f44f263 Reduce code duplication 2016-10-03 23:52:51 -07:00
David Fowler 1647432ef6 Added Connection property to EndPoint
- Exposes a list of connections for user code to act on
- The connection list is thread safe (uses a concurrent dictionary under the hood)
- Removed the Bus and just used the connection list in the samples
2016-10-03 22:58:56 -07:00
moozzyk 4cd4ddfad5 More structed connection metadata 2016-10-03 14:03:10 -07:00
David Fowler 2b7a396670 When EndPoint ends, the connection ends. 2016-10-03 02:41:28 -07:00
David Fowler 99d7aea78c Add User to Connection 2016-10-03 02:08:31 -07:00
David Fowler 8e66d63577 Code cleanup (somewhat)
- Transports have be drastically simplified due to channels
- Make sure tasks don't leak
2016-10-03 01:52:18 -07:00
David Fowler e018fe70f7 Handle message fragments 2016-10-02 23:41:06 -07:00
David Fowler 9ee33bf01f Add transport connection metadata 2016-10-01 23:49:07 -07:00
David Fowler 1ad1120c41 Update the LastActive for reserved connections 2016-10-01 15:59:20 -07:00
David Fowler 2a369f40f6 Small fixes
- Pass the Connection to each IHttpTransport
- FlushAsync after writing for WebListener
- Add metadata to Connection
- Added WebListener dependency
2016-10-01 11:52:50 -07:00
David Fowler 9f5ef70164 Added support for websockets
- Upgraded to ASP.NET Core 1.1 preview
2016-10-01 10:26:49 -07:00
David Fowler 40ecc9df4d Remove GetOrAdd from AddNewConnection 2016-10-01 03:53:00 -07:00
David Fowler f4f763f136 Only run next queued task if the previous was successful 2016-10-01 03:29:49 -07:00