DescriptionRefactoring of the HTTP library
Better state handling: On both server and client the state of the
connection is tracked. This goes for both the HTTP
request/response state (idle, active, done) and the socket
state (open, read closed, write closed).
Simplified the socket event handling: All socket onData, onClosed
and onError events go directly to the HTTP parser. The HTTP
connection only receives events from the HTTP parser now.
Better close handling: A close queue have been added where
sockets which should be closed are added. When in the close queue
the socket will be closed when either all data from the output
stream are written or an error occours.
Changed the HTTP parser to parse either requests or responses.
Removed the null-checks in the HTTP parser for whether the
callbacks where set. The HTTP parser is only used internally and
we always set all callbacks.
Whether it fixes the bugs listed below still needs to be verified
through thorough testing on all platforms. However the code should be
in much better shape from this refactoring.
R=ager@google.com
BUG=dart:6393, dart:6521, dart:6594
Committed: https://code.google.com/p/dart/source/detail?r=14840
Patch Set 1 #Patch Set 2 : Revers accidental edits #
Total comments: 6
Patch Set 3 : Addressed review comments #
Messages
Total messages: 5 (0 generated)
|