Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement an HTTP Service based on Tornado #47

Closed
tcalmant opened this issue Aug 31, 2015 · 2 comments
Closed

Implement an HTTP Service based on Tornado #47

tcalmant opened this issue Aug 31, 2015 · 2 comments
Labels

Comments

@tcalmant
Copy link
Owner

It seems possible to implement an HTTP service using Tornado.
This should increase the performances of Pelix HTTP (Tornado is faster than the HTTP server from the standard library).
It should also bring new features like websockets support.

An experimental implementation could be written before the release of 0.6.3.

@tcalmant
Copy link
Owner Author

Ideas:

  • Use a "proxy" request handler, to map the iPOPO servlet API to Tornado. This will allow to use existing servlets without additional work.
  • Public a "tornado" service, so that iPOPO component can register their Tornado handler
  • Handle the whiteboard pattern for Tornado handlers ("tornado.handler.factory" services ?)

Support of Tornado request handlers will allow to use the native features of Tornado.

Steps of development:

  • Write a main component to start/stop the Tornado server and publish the "tornado" service
  • Write test request handlers and register them with the "tornado" service (first unit tests)
  • Handle the whiteboard pattern to detect the request handlers (+ unit tests)
  • Write the servlet API proxy (+ unit tests)

@tcalmant tcalmant added this to the 0.6.4 milestone Oct 29, 2015
@tcalmant tcalmant removed this from the 0.6.4 milestone May 4, 2016
@tcalmant
Copy link
Owner Author

tcalmant commented May 4, 2016

As it depends on Tornado, which is not a "basic" dependency, this feature should be implemented in a side project.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant