0
Fork 0
mirror of https://github.com/ninenines/cowboy.git synced 2025-07-14 12:20:24 +00:00

Update roadmap

This commit is contained in:
Loïc Hoguin 2013-01-29 01:19:49 +01:00
parent 5d8c29ff0f
commit fd8ec6aaf3

View file

@ -6,38 +6,21 @@ list of planned changes and work to be done on the Cowboy
server. It is non-exhaustive and subject to change. Items server. It is non-exhaustive and subject to change. Items
are not ordered. are not ordered.
* Write more, better examples. * Add and improve examples
The first step would be to port misultin's examples * Improve user guide
to Cowboy. Then these examples could be completed with
examples for Cowboy specific features.
The extend/cowboy_examples is to be used for this. As We need feedback to improve the guide.
it is a separate repository, we can organize the file
structure as appropriate. Ideally we would have one
complete example per folder.
Examples should be commented. They may or may not be * Add and improve tests
used for writing the user guides.
* Write user guides.
We currently have good API documentation, but no step
by step user guides.
* Write more, better tests.
Amongst the areas less tested there is protocol upgrades Amongst the areas less tested there is protocol upgrades
and the REST handler. and the REST handler.
Current tests should be completed with unit tests
where applicable. We should probably also test the
dependencies used, like erlang:decode_packet/3.
While eunit and ct tests are fine, some parts of the While eunit and ct tests are fine, some parts of the
code could benefit from PropEr tests. code could benefit from PropEr tests.
* Continuous performance testing. * Continuous performance testing
Initially dubbed the Horse project, Cowboy could benefit Initially dubbed the Horse project, Cowboy could benefit
from a continuous performance testing tool that would from a continuous performance testing tool that would
@ -49,46 +32,25 @@ are not ordered.
Cowboy to other servers and eventually take ideas from Cowboy to other servers and eventually take ideas from
the servers that outperform Cowboy for the task being tested. the servers that outperform Cowboy for the task being tested.
* Improve HTTP/1.0 support. * Full HTTP/1.1 support
* Improved HTTP/1.0 support
Most of the work on Cowboy has been done with HTTP/1.1 Most of the work on Cowboy has been done with HTTP/1.1
in mind. But there is still a need for HTTP/1.0 code in in mind. But there is still a need for HTTP/1.0 code in
Cowboy. The server code should be reviewed and tested Cowboy. The server code should be reviewed and tested
to ensure compatibility with remaining HTTP/1.0 products. to ensure compatibility with remaining HTTP/1.0 products.
* Complete the work on Websockets. * SPDY support
Now that the Autobahn test suite is available (make inttests), The following items pertain to Ranch.
we have a definite way to know whether Cowboy's implementation
of Websockets is right. The work can thus be completed. The
remaining task is proper UTF8 handling.
* SPDY support. * Resizing the acceptor pool
While SPDY probably won't be added directly to Cowboy, work
has been started on making Cowboy use SPDY.
* Transport upgrades.
Some protocols allow an upgrade from TCP to SSL without
closing the connection. This is currently not possible
through the Cowboy API.
* Resizing the acceptor pool.
We should be able to add more acceptors to a pool but also We should be able to add more acceptors to a pool but also
to remove some of them as needed. to remove some of them as needed.
* Simplified dispatch list. * Add Transport:secure/0
For convenience purposes, the dispatch list should allow
lists instead of binaries. The lists can be converted to
binary by Cowboy at listener initialization.
There has also been discussion on allowing the dispatch
list to be hierarchical.
* Add Transport:secure/0.
Currently Cowboy checks if a connection is secure by Currently Cowboy checks if a connection is secure by
checking if its name is 'ssl'. This isn't a very modular checking if its name is 'ssl'. This isn't a very modular