[swift-server-dev] HTTP API: prototype review process - prototype now live in "develop"

Carl Brown carl.brown.swift at linuxswift.com
Wed May 31 17:27:20 CDT 2017


That's normal (or at least expected). 

To make the tests run faster, I force-close the sockets at the end of each of the XCTests instead of waiting for a graceful cleanup. The Socket library sees that as an error (which it would be, if it happened under normal circumstances).

-Carl


> On May 31, 2017, at 5:20 PM, Helge Heß via swift-server-dev <swift-server-dev at swift.org> wrote:
> 
> OK,
> 
> I tried to try that :-) As discussed there is no sample tool to run, so I tried
> 
>  swift test
> 
> that gives me plenty of errors, e.g.:
> --—snip--
> Started server on port 61788 with 4 Serial Queues of each type and 8 accept sockets
> Test testHelloEndToEnd() on port 61788
> Error accepting client connection: Error code: -9994(0x-270A), Software caused connection abort
>> Started server on port 61791 with 4 Serial Queues of each type and 8 accept sockets
> Test testRequestEchoEndToEnd() on port 61791
> ReaderSource Event Error: Error code: -9982(0x-26FE), Bad file descriptor
> Error accepting client connection: Error code: -9994(0x-270A), Software caused connection abort
> —snap—
> 
> etc. Yet I get
> 
> Test Suite 'All tests' passed at 2017-06-01 00:13:50.769.
> 	 Executed 11 tests, with 0 failures (0 unexpected) in 0.226 (0.227) seconds
> 
> Is this expected behaviour?
> 
> Or how do you run this code? :-)
> 
> hh
> 
> 
> On 31. May 2017, at 21:26, Chris Bailey via swift-server-dev <swift-server-dev at swift.org> wrote:
>> As promised, I've moved the code over from carlbrown/HTTPSketch to swift-server/http into a "develop" branch: 
>>        https://github.com/swift-server/http/tree/develop 
>> 
>> There's been three minor changes:
>> 	• I've updated the licence to match the Swift.org licence and added copyright headers
>> 	• I've added a API.md file to describe what the current API in the branch is
>> 	• Carl has moved SimpleResponseCreator into Tests
>> The next step is to go through a staged review. As its WWDC/AltConf/etc next week a number of people will be busy, as such it doesn't make sense to have a strict schedule until after next week. Having said that, we should try to make progress and close down/agree on some of the types if we can. 
>> 
>> Paulo:        As an relatively small starting point, do you want to raise a PR to discuss making HTTPVersion a struct? 
>> 
>> If can close that down it might make sense to then move onto HTTPMethod and HTTPResponseStatus/HTTPStatus as those are again relatively small and we might be able to close them out during the busy week. 
>> 
>> Chris
>> 
>> 
>> 
>> 
>> From:        Chris Bailey via swift-server-dev <swift-server-dev at swift.org> 
>> To:        <swift-server-dev at swift.org> 
>> Date:        30/05/2017 19:13 
>> Subject:        [swift-server-dev] HTTP API: prototype review process 
>> Sent by:        swift-server-dev-bounces at swift.org 
>> 
>> 
>> 
>> I've had some discussions with Paulo and David Ask offline, and below is the proposal from Paulo on how we proceed:
>> 	• Move the HTTP Sketch prototype (of Johannes' API proposal) into the swift-server repo
>> This will go into a “develop” branch rather than "master", but will have a MVP semver tag so it can be included via SwiftPM for people to test and benchmark with.
>> 	• Have a staged review of the types and APIs
>> In order to make sure that we have full "review coverage", we'll structure reviewing and reaching agreement on the types and APIs, including having deadlines for discussion, updates and reaching a conclusion.
>> 	• Reviewed types and APIs are then merged into master
>> Once a set of types or APIs have been reviewed, AND they build, pass tests with at least (95%?) coverage, 100% doc coverage, have generated jazzy docs and as well as design docs including the rationale for design decisions.
>> 	• When the full set of types and APIs have been reviewed and merged to master, raise a Swift Evolution Proposal
>> Once there is a full implementation in master, the API spec will go forward as a Swift Evolution Proposal to get feedback from the wider community. Once the feedback from the community is included, we can look at tagging a 1.0.0 release based on master.
>> 
>> We'll also document the API separately etc as suggested by Helge Heß. If this seems like a reasonable approach, we'll move the prototype code over to the swift-server org into a "develop" branch tomorrow. 
>> 
>> Chris
>> Unless stated otherwise above:
>> IBM United Kingdom Limited - Registered in England and Wales with number 741598. 
>> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU_______________________________________________
>> swift-server-dev mailing list
>> swift-server-dev at swift.org
>> https://lists.swift.org/mailman/listinfo/swift-server-dev
>> 
>> 
>> 
>> Unless stated otherwise above:
>> IBM United Kingdom Limited - Registered in England and Wales with number 741598. 
>> Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
>> _______________________________________________
>> swift-server-dev mailing list
>> swift-server-dev at swift.org
>> https://lists.swift.org/mailman/listinfo/swift-server-dev
> 
> _______________________________________________
> swift-server-dev mailing list
> swift-server-dev at swift.org
> https://lists.swift.org/mailman/listinfo/swift-server-dev



More information about the swift-server-dev mailing list