sinclairzx81 / reactor

Asynchronous Event Driven IO for .NET
MIT License
44 stars 13 forks source link

Status #1

Open jurgen-kluft opened 9 years ago

jurgen-kluft commented 9 years ago

Hi Sinclair :-)

What would you say is the state (Prototype, Alpha, Beta) of this project? Is it usable in it's current form?

Thanks

sinclairzx81 commented 9 years ago

Hi,

Most of the project is actually very stable, however i would only go as far to say the project in a prototype state overall. I think its fine to use the library as it stands, but I would follow up by saying "with some restrictions" on the places it gets put to use.

Basically, putting a Reactor HTTP server in a production environment probably isn't the best idea at this stage (consider something like OWIN/Katana, and some ASP.NET stack instead if that is your use case), but for a small (non mission critical) HTTP server its perfectly fine and works well, as does the TCP/TLS and UDP socket libraries and the Web/WebSocket server/client.

Note: reactor currently doesn't provide a HTTPS server (this is next on my list of things to do), so you may want to take this into consideration. TLS sockets are supported however.

In terms of the API, most of it is locked down, but parts are still likely to change in future. So that is worth factoring in. Most of these changes will likely be around changing (replacing) the events for IReadable streams (I have found them to be somewhat clunky) and some thought is going into a more Rx style approach in terms of design. The project will "not" depend on Rx in future (the idea is to retain 2.0 backwards compatibility), but rather to allow for easy interoperability with Rx on more "modern" .net platforms. I am actually very open to suggestions around this aspect.

Hey, if you do end up putting the library to use, I am keen to hear how its being leveraged. Additionally, im open to accepting suggestions and PR's on the project. If you hit any snags, don't hesitate in posting a issue.

Good luck