Before (possibly) splitting this project into 3 parts (socket framework, mobile/web messaging server, nbusy), below are the top level requirements.
[ ] Performance: should have minimal per-request overhead i.e. no need for reconstructing wrappers for request contexts for each and every request, like popular HTTP frameworks do. See createContext @ https://github.com/koajs/koa/blob/master/lib/application.js
[x] Middleware: Express/Koa like pluggable middleware architecture at socket framework level would be nice. i.e. request handling durations can be measured with a perflog sort of middleware. On the other hand, this might add overhead or lead to unnecessary request context reconstruction as mentioned above.
[ ] Optional TLS: if we decide to factor out the socket framework into a standalone library, then enforcing TLS by default might not be appropriate. i.e. it might be necessary to use this framework for an internal only project.
Before (possibly) splitting this project into 3 parts (socket framework, mobile/web messaging server, nbusy), below are the top level requirements.
createContext
@ https://github.com/koajs/koa/blob/master/lib/application.jsperflog
sort of middleware. On the other hand, this might add overhead or lead to unnecessary request context reconstruction as mentioned above.