Andrew Stanton-Nurse
d281cb72ea
add "messaging" endpoints and transports
...
* Need a separate set of primitives to handle messaging
* Using Channels (not Pipelines!) to provide the data flow for messaging
* All transports are now "message" based transports
* Added an adaptor to convert message-based transports to serve
streaming endpoints
2017-01-09 16:01:08 -08:00
moozzyk
217f707456
Sorting out exceptions
...
Making sure that OnConnected/OnDisconnected events are invoked correctly (e.g. if invoking OnDisconnectedAsync on hub threw we would not call OnDisconnectedAsync on lifetime manager and therefore we would continue to use/track connections that were already closed)
2017-01-09 08:29:44 -08:00
Pranav K
1492b41af0
Updating to 4.4 CoreFx packages
2016-12-21 22:57:01 -08:00
Mikael Mengistu
23c0522db9
Added missing copyright and license headers
2016-12-19 14:30:43 -05:00
Mikael Mengistu
e1d9aa2dd4
Early version of the .NET Client
2016-12-14 10:04:48 -08:00
David Fowler
df9057a6f7
Revert "Revert "React to hosting changes""
...
This reverts commit 12649b19bf .
2016-12-14 00:01:35 -08:00
David Fowler
12649b19bf
Revert "React to hosting changes"
...
This reverts commit f48bd8d185 .
2016-12-13 23:56:10 -08:00
David Fowler
f48bd8d185
React to hosting changes
2016-12-13 23:03:20 -08:00
David Fowler
5f3c1060ab
Clean up shutdown management ( #59 )
...
* Clean up shutdown management
- ConnectionManager now implements IApplicationEvents. It makes testing cleaner
but makes service registration a little messy.
* Cleaned up service registration and layering a bit
- Added SocketsApplicationLifetimeEvents instead of implementing it
on ConnectionManager directly.
- Exposed ConnectionManager.CloseConnections()
2016-12-05 22:07:19 -08:00
David Fowler
1b59fc6f80
DI enabled Microsoft.AspNetCore.Sockets ( #47 )
...
* DI enabled Microsoft.AspNetCore.Sockets
- Added AddSockets extension method to IServiceCollection
- Inject IApplicationLifetime into ConnectionManager to handle
graceful shutdown and added test.
- Call AddSockets from AddSignalR
* PR feedback
- Added AddSignalR overload that takes Action<SignalROptions>
2016-11-26 23:09:38 -08:00
Andrew Stanton-Nurse
940ccf5c65
add tests to WebSockets transport ( #35 )
...
* add tests to WebSockets transport
* adds some error handling
* make logger factory required
* allow frames to be received after the application closes the output
2016-11-23 11:26:12 -08:00
David Fowler
4aa65cf0bf
Updated to new System.IO.Pipelines package instead of Channels
2016-11-15 21:46:18 -08:00
Andrew Stanton-Nurse
2431c5925c
integrate Channels-based WebSockets into SignalR ( #28 )
2016-11-15 15:05:45 -08:00
Pranav K
97bf8c3c09
Fix NuGetPackageVerifier issues
2016-11-11 11:44:20 -08:00
moozzyk
10c741b14e
Updating dependency version to fix a 0.3.0 => 1.1.0 upgrade warning
2016-11-11 10:49:54 -08:00
Pranav K
67129b2515
Update dependency versions
2016-11-10 10:27:21 -08:00
David Fowler
d00f1f93b2
Added support for net451 and netstandard1.3
...
- Replaced Task.CompletedTask with TaskCache.CompletedTask
- Updated tests and src
2016-11-07 21:39:19 -08:00
Andrew Stanton-Nurse
dfa9c927b7
clean up project.jsons and NuGet.config ( #9 )
...
* clean up project.jsons and NuGet.config
* clean up netstandard references
* clean up netstandard tfm
* change WebSockets descriptions
2016-11-07 14:00:41 -08:00
Andrew Stanton-Nurse
d299cc9186
apply license headers
2016-11-07 12:00:04 -08:00
David Fowler
b114e4e9fd
Get rid of RpcEndpoint and samples
...
- Merge RpcEndpoint and HubEndPoint, still need to move discovery of hub
methods to another class.
2016-11-03 00:17:01 -07:00
David Fowler
f51fcadeb1
Dispose the ConnectionManager on application shutdown
2016-11-02 23:14:12 -07:00
David Fowler
5f23231d9b
Make ConnectionMetadata object,object dictionary
2016-11-02 22:30:16 -07:00
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
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
466c8d9db9
Adding ServerSentEvents
2016-11-02 17:09:11 -07:00
moozzyk
181053e876
Adding longpolling
2016-11-02 17:09:11 -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
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
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