websocket-manager icon indicating copy to clipboard operation
websocket-manager copied to clipboard

Speedup and refactoring

Open RobSchoenaker opened this issue 7 years ago • 10 comments

  • Added .UseIISIntegration() to Program.cs or debugging could fail
  • Keep Serialized payload in Message, makes sending to a lot of clients faster
  • WebSocketConnection introduced, so that iterating on the dictionary is easier

RobSchoenaker avatar May 17 '17 10:05 RobSchoenaker

Could you investigate why the build is failing, please?

radu-matei avatar May 31 '17 06:05 radu-matei

The build fails on the Test project. I did not change anything to that, so I suppose that should fail :)

RobSchoenaker avatar May 31 '17 08:05 RobSchoenaker

OK, fixed the tests and should merge just fine now.

RobSchoenaker avatar Jun 09 '17 13:06 RobSchoenaker

Hi! Thank you very much for the contribution you provided so far!

Sorry for delaying this, I have been focusing on different projects lately, but I would love to get back working on this. In order to do this, I would love to enable you people to contribute directly to the projects. Please let me know if you want to be granted write access to branches of this repo.

Thanks, Radu M

radu-matei avatar Jul 17 '17 10:07 radu-matei

If possible, yes. Makes contributing a LOT easier :)

RobSchoenaker avatar Jul 17 '17 11:07 RobSchoenaker

Ok. Since there will be no support for .NET Core before 2.1 for SignalR (will document this soon), I believe there is a strong point in continuing support for this library.

I added people who responded as contributors, guidelines coming soon :)

Thanks!

radu-matei avatar Jul 27 '17 07:07 radu-matei

Hi, @RobSchoenaker - could you please take a look and rebase this?

Thanks!

radu-matei avatar Apr 19 '18 13:04 radu-matei

I will rebase this and create a PR for my additional changes. Will be some job :)

RobSchoenaker avatar Apr 19 '18 13:04 RobSchoenaker

I am not quite sure what was changed in this PR. But I am currently adding return values and exceptions. That means when you call a remote method it's literally the same as a local method, returns a thing or throws an exception. I am just asking if there are significant logic changes here or is it all the same still? If this gets merged before I am done will we have a have a massive merge conflict? Hmm...

Henry00IS avatar Apr 19 '18 16:04 Henry00IS

This was a huge commit. I will merge your changes with it. No worries. The changes I made include:

  • State on a connection, so you know WHO sent something and you can target individuals
  • Grouping support (either via a lambda for dynamic groups or via fixed groups)
  • Major speedups on sending something to a high number of connections. The serialization is done ony once, and not per connection

RobSchoenaker avatar Apr 19 '18 16:04 RobSchoenaker